ayuda con arreglo y switch
Publicado por rodolfo (7 intervenciones) el 28/03/2019 02:51:00
hola me llamo rodolfo tengo un problema con mi codigo de progrmacion: aqui la pregunta esque si no se corre la entrada de gastos o almacena los datos(que seria el case1), no puedas seleccionar primero el case 2, aqui adjunto mi codigo, se que parece algo absurdo pero estoy empezando a programar , esto es en code blocks
#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;
float gastos[12];
void entrada_gastos()
{
int j;
for(j=0; j<12; j++)
{
cout << "Ingresa el gasto del mes "<<j+1<<endl;
cin >> gastos [j];
}
system("cls");
return;
}
void gastos_prom()
{
int j;
float gprom=0;
for(j=0; j<12; j++)
{
gprom+=gastos[j];
}
gprom/=12;
cout<<gprom<<endl;
}
void gastos_mayor()
{
float mayor=0;
int j;
float gasto;
for(j=0; j<12; j++)
{
gasto=gastos[j];
if(gasto>mayor)
{
mayor=gasto;
}
}
cout << "Tu gastro mayor fue de " << mayor <<endl;
//system("pause");
//system("cls");
return;
}
void gastos_menor()
{
float menor=1000000;
int j;
float gasto;
for(j=0; j<12; j++)
{
gasto=gastos[j];
if(gasto<menor)
{
menor=gasto;
}
}
cout << "Tu gasto menor fue de " << menor <<endl;
//system("pause");
//system("cls");
return;
}
void gasto_mayor_5000()
{
int meses=0;
int j;
for(j=0; j<12; j++)
{
if(gastos[j]>5000)
{
meses++;
}
}
cout<< "Los meses con gastos mayor de 5000 fueron " << meses;
return;
}
void gasto_menor_5000()
{
int meses=0;
int j;
for(j=0; j<12; j++)
{
if(gastos[j]<5000)
{
meses++;
}
}
cout<< "Los meses con gastos menor de 5000 fueron " << meses;
return;
}
void Menu()
{
int op;
while(op != 6||gastos[12] == 0)
{
cout << "Selecciona la opcion deseada \n"
<< "1 Capturar gastos del año\n"
<< "2 Obtener promedio \n"
<< "3 Gasto mas alto\n"
<< "4 Gasto menor a 1000\n"
<< "5 Numero de Reprobadas \n"
<< "6 Salir \n";
cin >> op;
switch(op)
while(gastos[12] == 0)
{
case 1:
entrada_gastos();
system("pause");
break;
case 2:
gastos_prom();
system("pause");
break;
case 3:
gastos_mayor();
system("pause");
break;
case 4:
gastos_menor();
system("pause");
break;
if(gastos[12] == 0) {
cout <<"debes introducir los litros\n";
}
default:
cout << "Opcion Incorrecta \n"<<endl;
Sleep(1000);
system("cls");
}
}
#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;
float gastos[12];
void entrada_gastos()
{
int j;
for(j=0; j<12; j++)
{
cout << "Ingresa el gasto del mes "<<j+1<<endl;
cin >> gastos [j];
}
system("cls");
return;
}
void gastos_prom()
{
int j;
float gprom=0;
for(j=0; j<12; j++)
{
gprom+=gastos[j];
}
gprom/=12;
cout<<gprom<<endl;
}
void gastos_mayor()
{
float mayor=0;
int j;
float gasto;
for(j=0; j<12; j++)
{
gasto=gastos[j];
if(gasto>mayor)
{
mayor=gasto;
}
}
cout << "Tu gastro mayor fue de " << mayor <<endl;
//system("pause");
//system("cls");
return;
}
void gastos_menor()
{
float menor=1000000;
int j;
float gasto;
for(j=0; j<12; j++)
{
gasto=gastos[j];
if(gasto<menor)
{
menor=gasto;
}
}
cout << "Tu gasto menor fue de " << menor <<endl;
//system("pause");
//system("cls");
return;
}
void gasto_mayor_5000()
{
int meses=0;
int j;
for(j=0; j<12; j++)
{
if(gastos[j]>5000)
{
meses++;
}
}
cout<< "Los meses con gastos mayor de 5000 fueron " << meses;
return;
}
void gasto_menor_5000()
{
int meses=0;
int j;
for(j=0; j<12; j++)
{
if(gastos[j]<5000)
{
meses++;
}
}
cout<< "Los meses con gastos menor de 5000 fueron " << meses;
return;
}
void Menu()
{
int op;
while(op != 6||gastos[12] == 0)
{
cout << "Selecciona la opcion deseada \n"
<< "1 Capturar gastos del año\n"
<< "2 Obtener promedio \n"
<< "3 Gasto mas alto\n"
<< "4 Gasto menor a 1000\n"
<< "5 Numero de Reprobadas \n"
<< "6 Salir \n";
cin >> op;
switch(op)
while(gastos[12] == 0)
{
case 1:
entrada_gastos();
system("pause");
break;
case 2:
gastos_prom();
system("pause");
break;
case 3:
gastos_mayor();
system("pause");
break;
case 4:
gastos_menor();
system("pause");
break;
if(gastos[12] == 0) {
cout <<"debes introducir los litros\n";
}
default:
cout << "Opcion Incorrecta \n"<<endl;
Sleep(1000);
system("cls");
}
}
Valora esta pregunta


0