Problème "else" en language C

Résolu
Bonjour,

j'ai un problème dev c++ me souligne la commande else pourquoi ?

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long age = 0;

while (age < 18 )
{
printf("Quel est ton age ?\n");
scanf("%ld", &age);
if (age < 18); { printf("Tu es mineur\n"); }
}

else (age >= 18)

{
printf("Ah tu es majeur !\n");
}

system("PAUSE");
return 0;
}
Configuration: Windows XP
Firefox 3.0.3

13 réponses

  • Votes
  • Date
  • Date décroissante
  1. je sais pas si sa vient de moi mais j'ai l'impression qu'il y a des problème avec tes crochets:
    if (){
    }else{
    }
    1. Bonjour,

      Ton If est a l'intérieur du While tandis que ton Else ne l'est pas.
      1. salut
        L'accolade,en dessous du if, ne doit-elle pas etre apres le else?
        @+
        1. int main(int argc, char *argv[])
          {
          long age = 0;

          while (age < 18 )
          {
          printf("Quel est ton age ?\n");
          scanf("%ld", &age);
          if (age < 18)
          {
          printf("Tu es mineur\n"); }
          } else {
          printf("Ah tu es majeur !\n");
          }

          }
          system("PAUSE");
          return 0;

          }
          1. Comme je l'ai dis tout à l'heure après le If il y a une accolade fermante en trop qui ferme la boucle while et qui donc exclus le Else.
        2. kill4am : non j'ai essayer rien a faire j'ai tout essayer je ne comprend pas
          1. j'ai oublier de préciser que quand je tape = ou + de 18 la bloucle se termine et il doit me dir tu es majeur et le prog se ferme
            1. Et la ?

              int main(int argc, char *argv[])
              {
              long age = 0;

              while (age < 18 )
              {
              printf("Quel est ton age ?\n");
              scanf("%ld", &age);
              if (age < 18)
              {
              printf("Tu es mineur\n");
              } else {
              printf("Ah tu es majeur !\n");
              }

              }
              system("PAUSE");
              return 0;

              }
              1. int main(int argc, char *argv[])
                {
                long age = 0;

                while (age < 18 )
                {
                printf("Quel est ton age ?\n");
                scanf("%ld", &age);
                if (age < 18)
                {
                printf("Tu es mineur\n"); }
                else {
                printf("Ah tu es majeur !\n");
                }

                }
                system("PAUSE");
                return 0;

                }

                // essayes ça
                1. Merci a tous ça marche ! c'est L1filtre qui avez la bonne fonction merci a tous !!
                  1. Ouai no souci mais je vois pas la diff entre ma sol. et celle de _will!
                    1. Moi non plus, mais c'est pas grave :)
                      1. J'ai a peu près le même problème :

                        erreur sur else :

                        #include<stdio.h>
                        int main()
                        {
                        int i;
                        printf("\nEntrez un chiffre entre 0 et 10 n");
                        scanf("%d,&i");
                        if((i>0)&&(i<10));
                        {
                        printf("Bravo");}
                        else
                        {
                        printf("Perdu");
                        }
                        scanf("%d");
                        return 0;
                        }
                      2. @Tomproblème réglé, désolé !^^