SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Apokalyptica79 en Martes 3 de Julio de 2007, 17:32

Título: Ejercicio En C Con Switch - Ayuda
Publicado por: Apokalyptica79 en Martes 3 de Julio de 2007, 17:32
Hola nuevamente yo. Leyendo sobre la switch me da el siguiente ejercicio.
[/QUOTE]Al recibir como datos dos variables de tipo entero, obtenga el resultado de la siguiente función:
        |  T/5              Si OP = 1
        |  T ** T          Si OP = 2
f(T) =|  6 * T / 2       Si OP = 3, 4
        |  1                 Para cualquier otro caso.
Mi codificación es la siguiente:
Citar
#include <stdio.h>
#include <math.h>
main()
{
 int OP, T;
 float RES;
 printf( "Ingrese la opcion de calculo y el valor entero: \n" );
 scanf( "%d %d", &OP, &T );
 switch (OP)
 {
  case 1 : RES = T / 5;
       break;
  case 2 : RES = pow (T, T);
       break;
  case 3 :
  case 4 : RES = 6 * T / 2;
       break;
 default : RES = 1;
       break;
 }
 printf( "El resultado es %.2f \n", RES );
}
Estos son los resultados que obtengo:
Citar
Ingrese la opcion de calculo y el valor entero:
3
2
El resultado es 6.00
Mi duda en este caso es porqué me da como resultado 6, si yo elegi 3 e ingresé el valor 2 y tengo que case 3: ?
Muchas gracias.
Título: Re: Ejercicio En C Con Switch - Ayuda
Publicado por: Mollense en Martes 3 de Julio de 2007, 18:01
Al no tener un  break; el case 3, también se ejecuta el código del case 4 el cual si tiene un break por lo que la ejecución del switch termina.
Título: Re: Ejercicio En C Con Switch - Ayuda
Publicado por: Apokalyptica79 en Martes 3 de Julio de 2007, 18:23
Hola Angel_K_ido, muchas gracias por tu explicación.
 :D
Título: Re: Ejercicio En C Con Switch - Ayuda
Publicado por: Mollense en Martes 3 de Julio de 2007, 18:27
Por nada  :comp: