Dev - C++ - ayuda con arreglo y switch

 
Vista:
sin imagen de perfil
Val: 9
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

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");
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda con arreglo y switch

Publicado por Alfil (1444 intervenciones) el 28/03/2019 07:10:18
fíjate que tienes un par de funciones que no has incluido en el menú, y que no has creado una función para la opción 5 del menú.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
float gastos[12];
 
 
void entrada_gastos()
{
    cout << endl;
 
    for( int j = 0; j < 12; j++ )
    {
        cout << "Ingresa el gasto del mes "<< j+1 << ": ";
        cin >> gastos[j];
    }
 
    system("cls");
}
 
void gastos_prom()
{
    float gprom = 0;
 
    for( int j = 0; j < 12; j++ )
    {
        gprom += gastos[j];
    }
 
    gprom /= 12;
    cout << "\nEl gasto promedio  es "<< gprom << endl;
}
 
void gastos_mayor()
{
    float mayor = 0;
    float gasto;
 
    for( int j = 0; j < 12; j++ )
    {
        gasto = gastos[j];
            if( gasto > mayor)
                mayor = gasto;
 
    }
 
    cout << "\nTu gastro mayor fue de " << mayor <<endl;
}
 
void gastos_menor()
{
    float menor = gastos[0];
    float gasto;
 
    for(int j = 0; j < 12; j++ )
    {
        gasto = gastos[j];
        if( gasto < menor )
            menor = gasto;
    }
 
    cout << "\nTu gasto menor fue de " << menor <<endl;
}
 
void gasto_mayor_5000()
{
    int meses = 0;
 
    for( int j = 0; j < 12; j++ )
    {
        if( gastos[j] > 5000 )
            meses++;
    }
 
    cout<< "Los meses con gastos mayor de 5000 fueron " << meses;
 
}
 
void gasto_menor_5000()
{
    int meses=0;
 
    for( int j = 0; j < 12; j ++ )
    {
        if( gastos[j] < 5000 )
            meses++;
    }
 
    cout << "Los meses con gastos menor de 5000 fueron " << meses;
 
}
 
int main()
{
    int op;
    int count = 0;
 
    do{
 
        cout << "\nSelecciona la opcion deseada \n"
             << "1 Capturar gastos del año\n"
             << "2 Obtener promedio \n"
             << "3 Gasto mas alto\n"
             << "4 Gasto menor\n"
             << "5 Numero de Reprobadas \n"
             << "6 Salir \n"
             << "?: ";
        cin >> op;
 
        if( count == 0 && op != 1 && op != 6 )
        {
            cout << "\nDebe Capturar gastos del año primero\n";
        }
        else
        {
            switch(op)
            {
            case 1:
                entrada_gastos();
                system("pause");
                count++;
                break;
 
            case 2:
                gastos_prom();
                system("pause");
                break;
 
            case 3:
                gastos_mayor();
                system("pause");
                break;
 
            case 4:
                gastos_menor();
                system("pause");
                break;
 
            case 5:
                break;
 
            case 6:
                break;
 
            default:
                cout << "Opcion Incorrecta \n"<<endl;
                system("pause");
                system("cls");
            }
        }
    }while( op != 6 );
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar