[ Foro de C ]
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 ;
}
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 ;-)
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.)