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

  1. Moi non plus, mais c'est pas grave :)
    0
    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;
      }
      0
    2. @Tomproblème réglé, désolé !^^
      0
  2. Ouai no souci mais je vois pas la diff entre ma sol. et celle de _will!
    0
    1. Merci a tous ça marche ! c'est L1filtre qui avez la bonne fonction merci a tous !!
      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
        0
        1. non will toujour pas lol
          0
          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;

            }
            0
            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
              0
              1. kill4am : non j'ai essayer rien a faire j'ai tout essayer je ne comprend pas
                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;

                  }
                  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.
                    0
                2. salut
                  L'accolade,en dessous du if, ne doit-elle pas etre apres le else?
                  @+
                  0
                  1. Contributeur
                    hello
                    il y a un ; de trop
                    if (age < 18); <------
                    0
                    1. Bonjour,

                      Ton If est a l'intérieur du While tandis que ton Else ne l'est pas.
                      0
                      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{
                        }
                        0