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. 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
    1. Bonjour,

      Ton If est a l'intérieur du While tandis que ton Else ne l'est pas.
      0
      1. Contributeur
        hello
        il y a un ; de trop
        if (age < 18); <------
        0
        1. salut
          L'accolade,en dessous du if, ne doit-elle pas etre apres le else?
          @+
          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. kill4am : non j'ai essayer rien a faire j'ai tout essayer je ne comprend pas
            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. 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. non will toujour pas lol
                  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. Merci a tous ça marche ! c'est L1filtre qui avez la bonne fonction merci a tous !!
                      0
                      1. Ouai no souci mais je vois pas la diff entre ma sol. et celle de _will!
                        0
                        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