Programación General > C/C++
Switch no ejecuta Default
(1/1)
cltomas:
Tengo este codigo, y el deafault no se ejecuta y no comprendo porque no lo hace <_<
--- Código: C ---#include <stdio.h> int main(){ int MAT, CARR, SEM; float pro; printf("nintroduce Matricula=>"); scanf("%d", &MAT); getchar(); printf("nintroduce Carrera 1.Ind 2.-Tel 3.-Inf 4.-Mat=>"); scanf("%d", &CARR); getchar(); printf("nintroduce sem=>"); scanf("%d", &SEM); getchar(); printf("nintroduce pro=>"); scanf("%f", &pro); getchar(); switch(CARR) { case 1: if((SEM >=6)&&(pro >=8.5)) printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro); break; case 2: if((SEM >=5)&&(pro >=9.0)) printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro); break; case 3: if((SEM >=6)&&(pro >=8.8)) printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro); break; case 4: if((SEM>=7)&&(pro>=9.0)) printf("n Mat %d, Carre %d, Pro %fn", MAT, CARR, pro); break; default: printf("nError!!!!!n"); break; } }
herzdark:
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:
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:
No olvides poner un return para la función main, que seguramente el compilador te está lanzando un warning.
Geo:
--- Cita de: "m0skit0" ---No olvides poner un return para la función main
--- Fin de la cita ---
Correcto.
--- Cita de: "m0skit0" ---que seguramente el compilador te está lanzando un warning.
--- Fin de la cita ---
No lanza nada si no está activo el nivel necesario de advertencia del compilador, quitamos ese "seguramente".
Navegación
Ir a la versión completa