Dev - C++ - Mi programa me pide mas datos de los que solicié

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

Mi programa me pide mas datos de los que solicié

Publicado por SMV (6 intervenciones) el 21/06/2020 06:01:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
 
    cout << "******ganancias de la taberna:*******\n \n";  //
    for( int i = 0; i <= 7; i++ ) {
        switch(i){
        case 0:  cout << "Ingrese la ganancia del dia lunes: \n";  break;
        case 1:  cout << "Ingrese la ganancia del dia martes: \n"; break;
        case 2:  cout << "Ingrese la ganancia del dia miercoles: \n"; break;
        case 3:  cout << "Ingrese la ganancia del dia jueves: \n";  break;
        case 4:  cout << "Ingrese la ganancia del dia viernes: \n";  break;
        case 5:  cout << "Ingrese la ganancia del dia sabado: \n"; break;
        case 6:  cout << "Ingrese la ganancia del dia dominguini: \n"; break; }; //aqui está el fallo =(
        cin >> array[i];
 
    }

// cada vez que el ciclo se cumple pasa de i=0 a 1=1, i=2... hasta i=7.Y cada vez que cambia de valor me pide un dato del dia diferentes,lunes, martes,miercoles,... hasta que llega el domingo, me pide 2 datos y si solo ingreso uno no pasa de allí, hasta que ingreso 2 datos. Que pasa aqui? como lo soluciono?
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++

Mi programa me pide mas datos de los que solicié

Publicado por Alfil (1444 intervenciones) el 21/06/2020 07:07:19
Cambia

1
for( int i = 0; i <= 7; i++ ) {

por

1
for( int i = 0; i < 7; i++ ) {
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 64 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Mi programa me pide mas datos de los que solicié

Publicado por SMV (6 intervenciones) el 21/06/2020 22:31:22
Gracias. Yo pensé que eso ya lo habia intentado, pero veo que no... llevo horas rompiendome la cabeza y no me quedaba, pero ahora ya se solucionó. Gracias nuevamente.
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
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++

Mi programa me pide mas datos de los que solicié

Publicado por Alfil (1444 intervenciones) el 21/06/2020 22:59:37
Yo lo habría hecho así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    char* dia[] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"};
    float array[7];
 
    for (int i = 0; i < 7; i++)
    {
        cout << "Ingrese la ganancia del "<< dia[i] << ": ";
        cin >> array[i];
    }
 
    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
1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 64 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Mi programa me pide mas datos de los que solicié

Publicado por salvador (6 intervenciones) el 23/06/2020 04:02:43
Excelente muchas gracias, soy algo novato y no sabia de esa opción. Mucho mas simple y eficáz.
Aunque no entiendo mucho de vectores. Por que a "i " la puedes poner como dia y como array ? No se supone que es una sola letra para cada variable? Si te da flojera explicar solo dime que tema es este para estudiarlo mejor? me interesa mucho. Gracias nuevamente

Segun yo, i está declarada como entero y vale cero, que tomará distintos valores al pasar el ciclo, i = 0. Pero de ahí a que imprimas un dia[i] y luego ingreses un array[i], ya me confundí

dia[i]
array[i]

solo me falta entender que onda con la i aqui...
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
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++

Mi programa me pide mas datos de los que solicié

Publicado por Alfil (1444 intervenciones) el 23/06/2020 07:38:24
1
char* dia[] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"};

es equivalente a:

1
char ** dia = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"};

y es equivalente a:

1
char dia [9][9]; // y cargar los datos mediante un ciclo for

Resumiendo, no es una array, sino una matriz char.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar