Hola , soy nuevo en el foro y tengo una duda sobre este código que compila pero está aún incompleto. Al estar en el menú principal y darle a la opción 2 de registros y listas de pilotos me aparece el cuadro negro y que el .exe dejó de funcionar. Uso el Devc++.
Este es mi código:
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
Este es mi código:
Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
void menu_inicio();
void financiera();
void financiera_ingresos();
void ingresos_mostrar(float ING[]);
void ingresos_modificar(float ING[]);
void back_ingreso();
void financiera_costos();
void costos_mostrar(float COST[]);
void costos_modificar(float COST[]);
void back_costo ();
void pilotos();
void Registrar_pilotos(char nombres[][30], char apellidos[][30], char dni[][8], char edad[][4], char rango[][20],int c);
void Lista_pilotos(char nombres[][30], char apellidos[][30], char dni[][8], char edad[][4], char rango[][20],int c);
void back_pilotos ();
int main()
{ char name[40];
SetConsoleTitle("ADMINISTRACION DE AEROLINEA");
cout<<"\n\n\n\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
cout <<"::::::::::::::::::::::::INGRESE NOMBRE PARA SU AEROLINEA:::::::::::::::::::::::\n";
cout <<"\t\t ";cin.getline(name,40); cout<<"\n\n\n\n\n\n\n\n\n\n";
system("pause");
system ("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
cout<< "\n\n\n\n\n\n\n\t\t\t"<< "BIENVENIDOS A LA AEROLINEA "<< name<<"\n\n\n\n\n\n\n\n\n\n\n";
system("pause");
system ("cls");
menu_inicio();
cin.get();
return 0;
}
//Menu Principal
void menu_inicio()
{ int d;
do{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),9);
cout<<endl;
cout<< " . +" <<endl;
cout<< " ¡|" <<endl;
cout<< " ||" <<endl;
cout<< " + ||" <<endl;
cout<< " || +" <<endl;
cout<< " + ||" <<endl;
cout<< " .__." <<endl;
cout<< " __________. __ .__________ " <<endl;
cout<< " -------. [__] .------- " <<endl;
cout<< " <--------------- (____) ---------------> +" <<endl;
cout<< " + *---(_)------- -------(_)---* " <<endl;
cout<< " °° " <<"\n"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
cout << " ____________________________MENU DE ADMINISTRACION____________________________";
cout <<"\n"<< endl;
cout<<" 1) Informacion financiera 4) Estadisticas"<<endl;
cout<<" 2) Registro y vistas de pilotos 5) Salir "<<endl;
cout<<" 3) Registro y vistas de pasajeros";
cout<<endl;
cout<<"\n\n";
cout<<" Elija una opcion: ";
cin>> d;
system ("cls");
switch (d)
{case 1: financiera();
break;
case 2: pilotos();
break;
case 3:
break;
case 4:
break;
case 5: exit(0);
break;
default: cout<<"Opcion invalida"<<endl;
}} while (d!=5);
}
void financiera() // Modulo financiero
{ int op;
do{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),9);
cout<<endl;
cout<< " . +" <<endl;
cout<< " ¡|" <<endl;
cout<< " ||" <<endl;
cout<< " + ||" <<endl;
cout<< " || +" <<endl;
cout<< " + ||" <<endl;
cout<< " .__." <<endl;
cout<< " __________. __ .__________ " <<endl;
cout<< " -------. [__] .------- " <<endl;
cout<< " <--------------- (____) ---------------> +" <<endl;
cout<< " + *---(_)------- -------(_)---* " <<endl;
cout<< " °° " <<"\n"<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
cout << " ___________________________INFORMACION FINANCIERA____________________________";
cout << "\n";
cout<<endl;
cout<<" 1) Ingresos 4) Infraestructura"<<endl;
cout<<" 2) Costos 5) Atras"<<endl;
cout<<" 3) Operaciones"<<endl;
cout<<endl;
cout<< "Opcion: ";
cin>> op;
system ("cls");
switch (op)
{case 1: financiera_ingresos();
break;
case 2: financiera_costos();
break;
case 3:
break;
case 4:
break;
case 5: menu_inicio();
break;
default:
cout<<"Ingrese una opcion valida"<<endl;
}}
while(op!=5);
}
void financiera_ingresos() //Modulo Financiero-Ingresos: : Se veran los ingresos , se podrá modificarlos y volver al menu de informacion financiera
{ int op;
float ING[7]={0,0,0,0,0,0,0};
do{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "\t___________________________INGRESOS___________________________";
cout << "\n";
cout<<endl;
cout<<" 1) Mostrar Ingresos "<<endl;
cout<<" 2) Modificar Ingresos "<<endl;
cout<<" 3) Atras "<<endl;
cout<<endl;
cout<< "Opcion: ";
cin>> op;
system ("cls");
switch (op)
{case 1: ingresos_mostrar(ING);
break;
case 2: ingresos_modificar(ING);
break;
case 3: financiera();
break;
default:
cout<<"Ingrese una opcion valida"<<endl;
}}
while(op!=3);
}
void ingresos_mostrar(float ING[])
{ int num;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "____________________________VISTA DE INGRESOS__________________________________";
cout << "\n";
cout<<endl;
cout<<" 1. Por Boletos: "<<ING[0]<<"\n\n";
cout<<" 2. Servicios opcionales "<<endl;
cout<<" a) Por alimentos y bebidas: "<< ING[1]<<endl;
cout<<" b) Por facturacion de equipaje: "<<ING[2]<<endl;
cout<<" c) Por asignacion de asientos premium: "<<ING[3]<<"\n\n";
cout<<" 3. Actividades no tarifadas: "<<endl;
cout<<" a) Venta de programas de viajeros frecuentes a socios : "<<ING[4]<<endl;
cout<<" b) Comisiones por habitaciones de hotel: "<<ING[5]<<endl;
cout<<" c) Comisiones por alquiler de coches: "<<ING[6]<<endl;
cout<<"\n\n";
back_ingreso ();
}
void ingresos_modificar(float ING[])
{int num;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "________________________________LLENADO DE INGRESOS_____________________________";
cout << "\n";
cout<<endl;
cout<<" 1. Por Boletos: "; cin>>ING[0]; cout<<"\n\n";
cout<<" 2. Servicios opcionales "<<endl;
cout<<" a) Por alimentos y bebidas: "; cin>> ING[1]; cout<<endl;
cout<<" b) Por facturacion de equipaje: ";cin>> ING[2]; cout<<endl;
cout<<" c) Por asignacion de asientos premium: ";cin>> ING[3]; cout<<"\n\n";
cout<<" 3. Actividades no tarifadas: "<<endl;
cout<<" a) Venta de programas de viajeros frecuentes a socios : ";cin>> ING[4]; cout<<endl;
cout<<" b) Comisiones por habitaciones de hotel: ";cin>> ING[5]; cout<<endl;
cout<<" c) Comisiones por alquiler de coches: ";cin>> ING[6]; cout<<endl;
cout<<"\n\n";
back_ingreso ();
}
void financiera_costos() //Modulo Financiero-Costos: Se veran los costos , se podrá modificarlos y volver al menu de informacion financiera
{ int op;
float COST[8]={0,0,0,0,0,0,0,0};
do{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "\t___________________________COSTOS___________________________";
cout << "\n";
cout<<endl;
cout<<" 1) Mostrar Costos "<<endl;
cout<<" 2) Modificar Costos "<<endl;
cout<<" 3) Atras "<<endl;
cout<<endl;
cout<< "Opcion: ";
cin>> op;
system ("cls");
switch (op)
{case 1: costos_mostrar(COST);
break;
case 2: costos_modificar(COST);
break;
case 3: financiera();
break;
default:
cout<<"Ingrese una opcion valida"<<endl;
}}
while(op!=3);
}
void costos_mostrar(float COST[])
{ int num;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "_____________________________VISTA DE COSTOS______________________";
cout << "\n";
cout<<endl;
cout<<" 1. Aterrizaje: "<<COST[0]<<"\n\n";
cout<<" 2. Combustible: "<<COST[1]<<endl;
cout<<" 3. Mantenimiento: "<< COST[2]<<endl;
cout<<" 4. Materiales: "<<COST[3]<<endl;
cout<<" 5. Operaciones terrestres: "<<COST[4]<<"\n\n";
cout<<" 6. Seguros: "<<COST[5]<<endl;
cout<<" 7. Gastos de personal: "<<COST[6]<<endl;
cout<<" 8. Gastos generales: "<<COST[7]<<endl;
cout<<"\n\n";
back_costo();
}
void costos_modificar(float COST[])
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
cout << "________________________________LLENADO DE COSTOS______________________________";
cout << "\n";
cout<<endl;
cout<<" 1. Aterrizaje: ";cin>>COST[0];cout<<"\n\n";
cout<<" 2. Combustible: ";cin>>COST[1];cout<<endl;
cout<<" 3. Mantenimiento: ";cin>>COST[2];cout<<endl;
cout<<" 4. Materiales: ";cin>>COST[3];cout<<endl;
cout<<" 5. Operaciones terrestres: ";cin>>COST[4];cout<<"\n\n";
cout<<" 6. Seguros: ";cin>>COST[5];cout<<endl;
cout<<" 7. Gastos de personal: ";cin>>COST[6];cout<<endl;
cout<<" 8. Gastos generales: ";cin>>COST[7];cout<<endl;
cout<<"\n\n";
back_costo();
}
void back_costo ()
{ char num;
do{
cout<<" Presione 1 para retroceder y 0 para salir "; cin>> num;
system ("cls");
switch(num)
{
case '1': financiera_costos();
break;
case '0': exit(0);
break;
}
} while (num!=1 || num!=0);}
void back_ingreso ()
{ char num;
do{
cout<<" Presione 1 para retroceder y 0 para salir "; cin>> num;
system ("cls");
switch(num)
{case '1': financiera_ingresos();
break;
case '0': exit(0);
break;
}
} while (num!=1 || num!=0);
}
// MODULO PILOTOS
void pilotos()
{ int op;
int c;
char nombres[c][30]; char apellidos[c][30]; char dni[c][8]; char edad[c][4]; char rango[c][20];
do{
cout<<endl;
cout<<" 1) Registrar a Pilotos "<<endl;
cout<<" 2) Lista de Pilotos "<<endl;
cout<<" 3) Atras"<<endl;
cout<<endl;
cout<< "Opcion: ";
cin>> op;
system ("cls");
switch (op)
{case 1: Registrar_pilotos(nombres,apellidos,dni,edad,rango,c);
case 2: Lista_pilotos(nombres,apellidos,dni,edad,rango,c);
case 3: menu_inicio();
default: system ("cls");
menu_inicio();
}}while (op!=3);
}
//REGISTRO DE PILOTOS
void Registrar_pilotos(char nombres[][30], char apellidos[][30], char dni[][8], char edad[][4], char rango[][20],int c){
cout<<"Ingresar datos de los Pilotos\n";
system("pause");
cout<<"\n\n";
cout<<"Ingresar cantidad de Pilotos: ";
cin>>c;
cout<<"\n\n";
for(int i=0;i<c;i++)
{
cout<<"Piloto "<<i+1<<": "<<endl;
cout<<"Ingresar nombres: ";
gets(nombres[i]);
cout<<"Ingresar apellidos: ";
gets(apellidos[i]);
cout<<"Ingresar el DNI: ";
gets(dni[i]);
cout<<"Ingresar edad: ";
gets(edad[i]);
cout<<"Ingresar rango: ";
gets(rango[i]);
cout<<"\n\n";
}
cout<<"Registro de Pilotos realizado de manera exitosa.....\n";
void back_pilotos ();
}
//LISTA DE PILOTOS
void Lista_pilotos(char nombres[][30], char apellidos[][30], char dni[][8], char edad[][4], char rango[][20],int c){
cout<<"Lista de Pilotos\n";
for(int i=0;i<c;i++){
cout<<"Piloto "<<i+1<<": "<<nombres[i]<<" "<<apellidos[i]<<"con rango de: "<<rango[i]<<"\n";
}
}
void back_pilotos ()
{ char num;
do{
cout<<" Presione 1 para retroceder y 0 para salir "; cin>> num;
system ("cls");
switch(num)
{case '1': pilotos();
break;
case '0': exit(0);
break;
}
} while (num!=1 || num!=0);
}
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex