Asignación de valores enteros en C a partir de un menú de opción múltiple usando la estructura do-wh
Publicado por Andrés (1 intervención) el 12/08/2020 21:15:23
Buen día a todos. Estoy intentando hacer un pequeño programa que, con base en diversos factores, señale el riesgo de los usuarios en caso de contagiarse una enfermedad. Los factores estarán predefinidos por mi y el usuario únicamente deberá señalar el aplicable a este; por ejemplo, su sexo.
Cada opción asigna un puntaje diferente que se va acumulando en un contador (en este caso, la variable "puntos"). Finalmente, de acuerdo con el valor final de "puntos" se imprime en pantalla el nivel de riesgo estimado.
Mi idea, a efecto de evitar que ingresen factores no contemplados, es otorgarles un menú de opciones para que unicamente señalen la que les sea aplicable, para lo cual, de acuerdo con lo investigado, puedo usar la estructura do-while-switch.
No obstante lo anterior, estoy teniendo problemas con el programa, pues no realiza ninguna acción, solo imprime en diversas ocasiones el mismo menú de opciones:
Agradezco a todos de antemano.
Saludos.
Cada opción asigna un puntaje diferente que se va acumulando en un contador (en este caso, la variable "puntos"). Finalmente, de acuerdo con el valor final de "puntos" se imprime en pantalla el nivel de riesgo estimado.
Mi idea, a efecto de evitar que ingresen factores no contemplados, es otorgarles un menú de opciones para que unicamente señalen la que les sea aplicable, para lo cual, de acuerdo con lo investigado, puedo usar la estructura do-while-switch.
No obstante lo anterior, estoy teniendo problemas con el programa, pues no realiza ninguna acción, solo imprime en diversas ocasiones el mismo menú de opciones:
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
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>
int main()
{
char sexo;
int puntos;
printf("Selecciona el número que corresponda a tu sexo: ");
do
{
printf( "\n 1. Masculino.");
printf( "\n 2. Femenino.");
printf( "\n 3. Salir." );
/* Filtramos la opción elegida por el usuario */
do
{
printf( "\n Introduzca opci%cn (1-3): ");
scanf( "%d", &sexo);
} while ( sexo < 1 || sexo > 3 );
/* La opción sólo puede ser 1, 2, o 3 */
switch (sexo)
{
case 1: puntos = 50;
printf(puntos);
break;
case 2: puntos = 30;
printf(puntos);
break;
}
} while ( sexo != 3 );
return 0;
}
Agradezco a todos de antemano.
Saludos.
Valora esta pregunta


0