Cuadro en negro y error programa dejó de funcionar :C

Iniciado por danids15, 1 Julio 2017, 08:31 AM

0 Miembros y 1 Visitante están viendo este tema.

danids15

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:

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

migueluc

Varías cosas que deberías tener en cuenta antes de preguntar una duda:

- Describir/mostrar exactamente las líneas de código que te causen la duda/error.

- Usar la función de insertar código que proporciona el foro.

- No esperar que mágicamente te resuelvan el problema. Deberías indagar un poco por internet. Te recomiendo StackOverflow.