• Lunes 29 de Abril de 2024, 16:06

Autor Tema:  Switch no ejecuta Default  (Leído 1681 veces)

cltomas

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Switch no ejecuta Default
« en: Domingo 13 de Marzo de 2011, 01:28 »
0
Tengo este codigo, y el deafault no se ejecuta y no comprendo porque no lo hace <_<

Código: C
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {  
  5.      int MAT, CARR, SEM;
  6.      float pro;
  7.    
  8.      printf("nintroduce Matricula=>");
  9.      scanf("%d", &MAT);
  10.       getchar();
  11.      
  12.      printf("nintroduce Carrera 1.Ind 2.-Tel 3.-Inf 4.-Mat=>");
  13.      scanf("%d", &CARR);
  14.      getchar();
  15.    
  16.      printf("nintroduce sem=>");
  17.      scanf("%d", &SEM);
  18.      getchar();
  19.    
  20.      printf("nintroduce pro=>");
  21.      scanf("%f", &pro);
  22.      getchar();
  23.  
  24.   switch(CARR)
  25.  {
  26.      
  27.      case 1: if((SEM >=6)&&(pro >=8.5))  
  28.                 printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro);
  29.                 break;
  30.    
  31.      case 2: if((SEM >=5)&&(pro >=9.0))
  32.                 printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro);
  33.                 break;
  34.            
  35.      case 3: if((SEM >=6)&&(pro >=8.8))
  36.                 printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro);
  37.                 break;
  38.                
  39.      case 4: if((SEM>=7)&&(pro>=9.0))
  40.                 printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro);
  41.                 break;
  42.         default: printf("nError!!!!!n");
  43.             break;
  44.        
  45.   }            
  46. }
  47.      
  48.  

herzdark

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: ar
    • Ver Perfil
Re: Switch no ejecuta Default
« Respuesta #1 en: Domingo 13 de Marzo de 2011, 04:19 »
0
en tu codigo no hay problema el default del switch se ejecuta perfectamente pero no lo ves xq no paras la pantalla, al final del programa pone un system ("PAUSE") q se encuentra en la libreria STDLIB.H o el clrscr() de la libreria CONIO.H y ahora fijate si te anda bien

cltomas

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Switch no ejecuta Default
« Respuesta #2 en: Domingo 13 de Marzo de 2011, 10:03 »
0
Gracias por tu respuesta, pero estoy en Debian Gnu/linux y el default se ejecuta correctamente, el problema era que me faltaba colocar un printf fuera del switch    :brickwall:

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Switch no ejecuta Default
« Respuesta #3 en: Lunes 14 de Marzo de 2011, 14:27 »
0
No olvides poner un return para la función main, que seguramente el compilador te está lanzando un warning.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Switch no ejecuta Default
« Respuesta #4 en: Sábado 30 de Abril de 2011, 22:21 »
0
Cita de: "m0skit0"
No olvides poner un return para la función main
Correcto.

Cita de: "m0skit0"
que seguramente el compilador te está lanzando un warning.
No lanza nada si no está activo el nivel necesario de advertencia del compilador, quitamos ese "seguramente".
La imaginación es el límite.
Hardware & Software | Mexchip