Foro de elhacker.net

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.

Código
  1. #include <stdio.h>
  2.  
  3. /*Realice un programa que tenga una función que determine si un determinado año es bisiesto,
  4. debe devolver un valor de tipo lógico.
  5. Indicación: un año es bisiesto si es divisible entre 400 o si es divisible entre 4 pero no entre
  6. 100. Realice una llamada a la función anterior para comprobar su correcto funcionamiento.
  7. · Compruebe en primer lugar que el año 1976 fue bisiesto pero no el 2000.
  8. · Modifique la programación de manera que el usuario introduzca por consola un año
  9. de su elección.*/
  10.  
  11. typedef enum {Falso, Cierto}Logico;
  12.  
  13. Logico añoBisiesto(int);
  14.  
  15. void main(void){
  16. /*int año = 1976;
  17. año = añoBisiesto(año);
  18. if(año == Cierto){
  19. printf("El año es bisiesto\n", año);
  20. } else{
  21. printf("El año no es bisiesto\n", año);
  22. }*/
  23. int año;
  24. Logico bis;
  25.  
  26. printf("Introduzca un año:\n");
  27. scanf("&d", &año);
  28.  
  29. bis = añoBisiesto(año);
  30.  
  31. if(bis){
  32. printf("El año %d es bisiesto\n", año);
  33. }
  34. else{
  35. printf("El año %d no es bisiesto\n", año);
  36. }
  37. }
  38.  
  39. Logico añoBisiesto(int año){
  40. Logico bis = Falso;
  41.  
  42. if(año % 400 == 0 || año % 4 == 0 && año & 100 != 0){
  43. bis = Cierto;
  44. }
  45.  
  46. return bis;
  47.  
  48. }


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
Código:
int año

el compilador no acepta "ñ"


Código:
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