Problèmes avec des else if
Bonjour !
J'ai voulu coder un petit programme qui demande à l'utilisateur d'entrer une année et qu'après il ecrit si l'année qu'il a rentré est bissextile ou non.
Mais j'ai un problème, l'imbrication de else if ne marche pas et je ne vois pas comment faire sans.
Voici l'algorithme du programme :
Code:
1 2
| Si A n'est pas divisible par 4, l'année n'est pas bissextile.
Si A est divisible par 4, l'année est bissextile sauf si A est divisible par 100 et pas par 400. |
Voici le code :
Code:
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 32 33
| #include <stdio.h>
#include <stdlib.h>
int main (void)
{
int A;
char saisie[20];
printf("Introduisez l'année:");
fgets(saisie, sizeof saisie, stdin);
A = strtol(saisie, NULL, 10);
if (!(A % 4 == 0))
printf("L'annee %d n'est pas bissextile.", A);
else if (!(A % 100 == 0))
{
printf("L'annee %d est bissextile.", A);
else if (!(A % 400 == 0))
{
printf("L'annee %d n'est pas bissextile.", A);
else
{
printf("L'annee %d est bissextile.", A);
}
}
}
return 0;
} |
Et enfin les erreurs du compilateur :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Project : date
Compiler : GNU GCC Compiler (called directly)
Directory : C:\dev\projects\Console\date\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c: In function `main':
main.c:26: error: syntax error before "else"
main.c: At top level:
main.c:35: error: syntax error before '}' token
Process terminated with status 1 (0 minutes, 0 seconds) |
Merci d'avance.
Kr00pS