Problème "else" en language C

Résolu
mathieu-76500 Messages postés 66 Statut Membre -  
 Tom -
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. kill4m Messages postés 260 Statut Membre 26
     
    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
  2. _will Messages postés 216 Statut Membre 17
     
    Bonjour,

    Ton If est a l'intérieur du While tandis que ton Else ne l'est pas.
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il y a un ; de trop
    if (age < 18); <------
    0
  4. chuka Messages postés 980 Statut Membre 379
     
    salut
    L'accolade,en dessous du if, ne doit-elle pas etre apres le else?
    @+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kill4m Messages postés 260 Statut Membre 26
     
    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. _will Messages postés 216 Statut Membre 17
       
      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
  7. mathieu-76500 Messages postés 66 Statut Membre 14
     
    kill4am : non j'ai essayer rien a faire j'ai tout essayer je ne comprend pas
    0
  8. mathieu-76500 Messages postés 66 Statut Membre 14
     
    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
  9. _will Messages postés 216 Statut Membre 17
     
    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
  10. mathieu-76500 Messages postés 66 Statut Membre 14
     
    non will toujour pas lol
    0
  11. L1filtre Messages postés 6 Statut Membre
     
    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
  12. mathieu-76500 Messages postés 66 Statut Membre 14
     
    Merci a tous ça marche ! c'est L1filtre qui avez la bonne fonction merci a tous !!
    0
  13. L1filtre Messages postés 6 Statut Membre
     
    Ouai no souci mais je vois pas la diff entre ma sol. et celle de _will!
    0
  14. _will Messages postés 216 Statut Membre 17
     
    Moi non plus, mais c'est pas grave :)
    0
    1. Tom
       
      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
      1. Tom > Tom
         
        problème réglé, désolé !^^
        0