[ Foro de C ]

Consulta

03-May-2022 14:53
iara gago
2 Respuestas

Hola! Tengo un duda con un ejercicio. Me compila perfecto, pero no estoy segura de estar haciendo un uso correcto del tipo bool.
Desde ya muchas gracias.
//Ingresar edad del usuario y decir si es mayor o menor de edad.

#include <stdio.h>
#include <stdbool.h>

bool es_mayor (int edad);

int main(){
int edad;

printf("Ingrese su edad:\n");
scanf("%d", &edad);

es_mayor(edad);

return 0;
}

bool es_mayor(int anios){
if (anios >= 18){
printf("Es mayor\n");
} else{
printf ("Es menor");
}
return ;
}


07-May-2022 23:31
Invitado (santi)

hola iara

la implementación que haces para dar uso a bool no es correcta, basicamente stdbool.h te da el true y false y no lo estás usando, seria equivalente a:

typedef enum { no, si } booleano;  
y tendrias 'no' como cero o falso y el 'si' como distinto de cero o verdadero

aunque al programa no le hace falta te paso un ejemplo con tu código:

https://www.online-ide.com/vFZJ017gWQ

suerte ;-)


08-May-2022 06:09
Invitado (thizk)

si esta mal usado, una función de tipo bool debe retornar un 'true' o 'false'. Para utilizarlo como quieres podrías hacer

bool es_mayor(int edad){

if(edad >= 18){
return true;
}
return false;
}

entonces en el main()

int main(){
int edad;

printf("Ingrese su edad:\n");
scanf("%d", &edad);

if(es_mayor(edad))
{
printf("Es mayor\n");
}
else {
printf ("Es menor");
}


return 0;
}






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)