C/Visual C - Ayuda con este operador Switch

 
Vista:

Ayuda con este operador Switch

Publicado por Emerson (1 intervención) el 16/09/2018 19:18:38
Hola me pueden ayudar con este programa?

necesito calcular el consumo de la energia por trimestres(primer, segundo, tercer y cuarto) pero necesito que primero me salga un cartel diciendo el nombre del programa. Luego pase la parte de los cálculos. Luego quiero al final se sumen los datos para el consumo de energia anual.

Se que algo esta mal pero no veo como pueda corregirlo.

Para producir un barril de petroleo se necesita 297 kwh.

#include <stdio.h>
#include <math.h>
#define BARRIL 297


int main() {
printf("Barriles producidos por trimestres. ");

int energia,barrilesProducidos,Periodo;
float Eu1,Eu2,Eu3,Eu4,energiaAnual;

scanf("%d %d", &barrilesProducidos, &Periodo);

switch (Periodo)
{
case 1: printf("Barriles producidos en el primer trimestre:\n");
Eu1 = barrilesProducidos * BARRIL; break;
case 2: printf("Barriles producidos en el segundo trimetres:\n");
Eu2 = barrilesProducidos * BARRIL; break;
case 3: printf("barriles producidos en el Tercer trimetres:\n");
Eu3 = barrilesProducidos * BARRIL; break;
case 4: printf("barriles producidos en el Cuarto trimetres:\n");
Eu3 = barrilesProducidos * BARRIL; break;
}
energiaAnual = Eu1 + Eu2 + Eu3+Eu4;
printf("energiaAnual");
return 0;
}
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 8 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda con este operador Switch

Publicado por Jesús (1 intervención) el 20/10/2018 18:09:03
Hola tenías un par de errores. El primero en el case 4 estas dando valor a la variabla Eu3 y entiendo que debería ser Eu4. Por último la suma sí que la estás haciendo bien, el problema es que solamente estás mostrando por pantalla el mensaje de "enegiaAnual", te falta añadirle el valor de la misma.


Te dejo el código corregido. Si te fijas he puesto %.f para mostrar el valor sin decimales.

Un saludo.


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
#include <stdio.h>
#include <math.h>
#define BARRIL 297
 
 
int main() {
    printf("Barriles producidos por trimestres. ");
 
    int energia,barrilesProducidos,Periodo;
    float Eu1,Eu2,Eu3,Eu4,energiaAnual;
 
    scanf("%d %d", &barrilesProducidos, &Periodo);
 
    switch (Periodo)
    {
    case 1: printf("Barriles producidos en el primer trimestre:\n");
    Eu1 = barrilesProducidos * BARRIL; break;
    case 2: printf("Barriles producidos en el segundo trimetres:\n");
    Eu2 = barrilesProducidos * BARRIL; break;
    case 3: printf("barriles producidos en el Tercer trimetres:\n");
    Eu3 = barrilesProducidos * BARRIL; break;
    case 4: printf("barriles producidos en el Cuarto trimetres:\n");
    Eu4 = barrilesProducidos * BARRIL; break;
    }
    energiaAnual = Eu1 + Eu2 + Eu3+ Eu4;
    printf("energiaAnual %.f ",energiaAnual );
    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