ciclo while infinito
Publicado por josue (6 intervenciones) el 17/08/2020 04:14:45
Saludos, he intentado hacer un programa con opciones con switch y while, las opciones son numéricas y todo bien mientras sea un numero, pero si introduzco cualquier otra letra se mete en un ciclo infinito, algún[consejo por favor. El programa debe ir sumando puntos de acuerdo a la opción seleccionada y al final mostrar el total de puntos, si se introduce una opción incorrecta debe mandar un mensaje y repetir la pregunta y como comente antes si se introduce un numero cualquiera funciona bien el while pero si se trata de otro carácter en vez de un numero es cuando se queda en el bucle, decidí hacerlo con opciones numéricas porque hay preguntas con mas de dos respuestas y creí mas sencillo elegir números en lugar de letras. Espero me puedan ayudar, por favor, todas las preguntas ya están elaboradas como la que les muestro en mi código y todas tienen ese bucle
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
29
30
#include<stdio.h>
#include<stdlib.h>
int main() {
int sexo=0, edad=0, peso=0, diabetes=0, hipertension=0, fuma=0, epoc=0, cardiovascular=0, inmuno=0, suma=0, total=0;
char temp;
do {
printf("Ingrese el numero de la opcion correspondiente \n");
printf("Cual es su sexo? \n");
printf("1)Masculino \n");
printf("2)Femenino \n \n");
scanf("%d", &temp);
switch(temp){
case 1:
sexo =sexo+50;
break;
case 2:
sexo =sexo+30;
break;
default:
printf("No pulsaste una opcion valida \n");
break;
}
} while(temp <1 || temp>2);
system("cls");
}
Valora esta pregunta


0