Mostrar el sexo de una persona según la letra introducida
Publicado por Daniel (1 intervención) el 19/12/2020 01:47:25
Buenas, soy nuevo en el foro. Tengo un problema para un código en C que no consigo resolver, apenas conozco el lenguaje.
El enunciado es el siguiente: Realiza un programa en C que muestre por pantalla el sexo de una persona según la letra
introducida h, H, m, M. Utiliza switch.
En si el resultado del enunciado está resuelto pero hay un error y es que al introducir una cadena de caracteres (por ejemplo: hamburguesa) el programa determina que es masculino por que empieza por h.
Necesitaría saber como establecer un máximo de caracteres (1) y en caso de que sea mayor, que de error.
Gracias por la ayuda.
Este es mi código:
El enunciado es el siguiente: Realiza un programa en C que muestre por pantalla el sexo de una persona según la letra
introducida h, H, m, M. Utiliza switch.
En si el resultado del enunciado está resuelto pero hay un error y es que al introducir una cadena de caracteres (por ejemplo: hamburguesa) el programa determina que es masculino por que empieza por h.
Necesitaría saber como establecer un máximo de caracteres (1) y en caso de que sea mayor, que de error.
Gracias por la ayuda.
Este es mi código:
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
#include <stdio.h>
int main()
{
int c;
char sexo;
printf ("Hola, introduce el sexo\n");
scanf("%c",&sexo);
if(sexo=='H' || sexo=='h'){
c=1;
} else if (sexo=='M' || sexo=='m'){
c=2;
} else {
c=3;
}
switch (c) {
case 1:
printf ("\n El sexo es: Masculino");
break;
case 2:
printf ("\n El sexo es: Femenino");
break;
case 3:
printf ("\n El sexo introducido no es correcto");
}
return 0;
}
Valora esta pregunta


0