Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: aliciazc en 2 Noviembre 2016, 19:38 PM

Título: problema de programacion
Publicado por: aliciazc en 2 Noviembre 2016, 19:38 PM
Algo falla en el main.
Ayuda plis.

#include <stdio.h>

/*Realice un programa que tenga una función que determine si un determinado año es bisiesto,
debe devolver un valor de tipo lógico.
Indicación: un año es bisiesto si es divisible entre 400 o si es divisible entre 4 pero no entre
100. Realice una llamada a la función anterior para comprobar su correcto funcionamiento.
· Compruebe en primer lugar que el año 1976 fue bisiesto pero no el 2000.
· Modifique la programación de manera que el usuario introduzca por consola un año
de su elección.*/

typedef enum {Falso, Cierto}Logico;

Logico añoBisiesto(int);

void main(void){
/*int año = 1976;
año = añoBisiesto(año);
if(año == Cierto){
printf("El año es bisiesto\n", año);
} else{
printf("El año no es bisiesto\n", año);
}*/
int año;
Logico bis;

printf("Introduzca un año:\n");
scanf("&d", &año);

bis = añoBisiesto(año);

if(bis){
printf("El año %d es bisiesto\n", año);
}
else{
printf("El año %d no es bisiesto\n", año);
}
}

Logico añoBisiesto(int año){
Logico bis = Falso;

if(año % 400 == 0 || año % 4 == 0 && año & 100 != 0){
bis = Cierto;
}

return bis;

}



Mod: Los códigos deben ir en etiquetas GeSHi
Título: Re: problema de programacion
Publicado por: engel lex en 2 Noviembre 2016, 19:56 PM
int año

el compilador no acepta "ñ"


if(bis)
el compilador sabe lo que es true y false.... pero no sabe lo que es Cierto y Falso, eso no tiene sentido para el como algo logico