IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Probl�me dans mon code [D�butant(e)]


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 4
    Par d�faut Probl�me dans mon code
    bonjours
    Un petit peu d'aide serait la bienvenu. Voila je voulais savoir quel sont mes erreurs sur ma ligne de code car je n'arrive pas � le compiler
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main(){
        int nombre1 = 0, nombretape = 0;
        srand(time(0));
        nombre = (rand() % 50);
        printf("devinez le nombre\r\n");
        while (1);
    {    if (nombre1 < nombretape);
         scanf("%d") &nombretape; 
         printf("vous ètes infèrieur\r\n");
         else if (nombre1 == nombretape);
         scanf("%d") &nombretape; 
         printf("vous avez trouvé bravo\r\n");
         break;
         else (nombre1 > nombretape);
         scanf("%d") &nombretape; 
         printf("vous ètes supérieur\r\n");
    }     
    system("PAUSE");
    return 0;
    }
    [-mod- Merci de lire les r�gles du forum et d'apprendre � utiliser les balises de code]

  2. #2
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par curro Voir le message
    Un petit peu d'aide serait la bienvenu. Voila je voulais savoir quel sont mes erreurs sur ma ligne de code car je n'arrive pas � le compiler.
    Le compilateur indique les erreurs :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : C:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:5: warning: function declaration isn't a prototype
    main.c: In function `main':
    main.c:8: error: `nombre' undeclared (first use in this function)
    main.c:8: error: (Each undeclared identifier is reported only once
    main.c:8: error: for each function it appears in.)
    main.c:11: warning: empty body in an if-statement
    main.c:12: warning: too few arguments for format
    main.c:14: error: syntax error before "else"
    main.c:15: warning: too few arguments for format
    main.c:17: error: break statement not within loop or switch
    main.c:18: error: syntax error before "else"
    main.c:19: warning: too few arguments for format
    Process terminated with status 1 (0 minutes, 0 seconds)
    6 errors, 5 warnings
    Tu ne comprends pas l'anglais ?

    Ton code est bourr� d'erreurs basiques. Je te conseille de relire tes cours.

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par d�faut

    Non portable , inutile sur un edi r�cent (codeblocks , anjuta , etc...)

  4. #4
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par scriptoff Voir le message
    Non portable , inutile sur un edi r�cent (codeblocks , anjuta , etc...)
    Si il n'y avait que �a !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 4
    Par d�faut
    excusez moi mais que veut dire "erreur de syntaxe auparavant "else"?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main(){
        int nombre1 = 0, nombretape = 0;
        srand(time(0));
        nombre1 = (rand() % 50);
        printf("devinez le nombre\r\n");
        while (1);
        printf("donner un nombre entre 50 et 0 : ");
        scanf("%d") &nombretape; 
    {
         printf("vous ètes infèrieur\r\n");
         if (nombre1 < nombretape);
         printf("vous avez trouvé bravo\r\n");
         else if (nombre1 == nombretape); 
         break;
         printf("vous ètes supérieur\r\n");
         else (nombre1 > nombretape);
    }     
     
    return 0;
    }
    j'ai fai quelque changement mais l'erreur apparait toujours � "else"

  6. #6
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par curro Voir le message
    excusez moi mais que veut dire "erreur de syntaxe auparavant "else"?
    Relis ton cours de C :
    - Il ne faut pas de ';' apr�s une condition de structure de code
    - Il faut des {} si il y a plus d'une ligne concern�e.

  7. #7
    Membre exp�riment�
    Homme Profil pro
    Ing�nierie des systemes embarqu�s temps r�els
    Inscrit en
    Juin 2006
    Messages
    152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nierie des systemes embarqu�s temps r�els
    Secteur : Sant�

    Informations forums :
    Inscription : Juin 2006
    Messages : 152
    Par d�faut
    Citation Envoy� par curro Voir le message
    excusez moi mais que veut dire "erreur de syntaxe auparavant "else"?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main(){
        int nombre1 = 0, nombretape = 0;
        srand(time(0));
        nombre1 = (rand() % 50);
        printf("devinez le nombre\r\n");
        while (1);
        printf("donner un nombre entre 50 et 0 : ");
        scanf("%d") &nombretape; 
    {
         printf("vous ètes infèrieur\r\n");
         if (nombre1 < nombretape);
         printf("vous avez trouvé bravo\r\n");
         else if (nombre1 == nombretape); 
         break;
         printf("vous ètes supérieur\r\n");
         else (nombre1 > nombretape);
    }     
     
    return 0;
    }
    j'ai fai quelque changement mais l'erreur apparait toujours � "else"

    Essayes de te situer http://emmanuel-delahaye.developpez.com/goret.htm
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    if (condition)
    {
       expression;
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    if (nombre1 < nombretape)
    {
       printf("vous ètes infèrieur\r\n");
    }
    Relire les structures de contr�les
    la syntaxe de scanf et printf..

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 4
    Par d�faut
    encors quelque petit changement:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {    
    int nombre1 = 0, nombretape = 0;
        srand(time(0));
        nombre1 = (rand() % 50);
        printf("devinez le nombre\r\n");
        while (1)
        printf("donner un nombre entre 50 et 0 : ");
        scanf("%d" &nombretape);
        if (nombre1 < nombretape)
     {    
          printf("vous ètes infèrieur\r\n");
    }
         else if (nombre1 == nombretape) 
     {    
          printf("vous avez trouvé bravo\r\n");
         break;
    }
          else (nombre1 > nombretape);
     {    
          printf("vous ètes supérieur\r\n");
      }  
     
    system("PAUSE");
    return 0;
    }
    ou faudrait il mettre le break ?

  9. #9
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    309
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 309
    Par d�faut
    Apprends � utiliser les fonctions, regarde ton scanf() !

    Tu mets le premier argument dans la fonction, c'est bien, mais le deuxi�me argument se trouve apr�s !

    c'est :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    scanf("%d", &nombretape);
    et non pas :

    Ensuite, apr�s un else il ne faut pas de condition, le else signifie "toutes les conditions qui n'ont pas �t� prises en compte par les if/else if pr�c�dent"

    Et pour finir, pourquoi ne mets-tu pas comme condition de sortie de ta boucle nombretape == nombre1...

    Si tu fais comme boucle �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    while(nombretape != nombre1)
    Lorsque les variables seront �gales, tu sortiras de la boucle, c'est plus propre et plus compr�hensible qu'un break dans un else if...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 4
    Par d�faut
    voila super sa marche enfin! je vous remerci de votre aide je n'y orait jamais rien compris sans vous
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {    
    int nombre1 = 0, nombretape = 0;
        srand(time(0));
        nombre1 = (rand() % 50);
        printf("devinez le nombre\r\n");
     
        printf("donner un nombre entre 50 et 0 : ");
        scanf("%d", &nombretape);
     
         while(nombretape != nombre1)
     {    
          printf("vous avez trouvé bravo\r\n");
              if (nombre1 < nombretape)
     {    
          printf("vous ètes infèrieur\r\n");
    }
     
          else if (nombre1 > nombretape)
     {    
          printf("vous ètes supérieur\r\n");
      }  
     
    system("PAUSE");
    return 0;
    }}

  11. #11
    Membre �clair� Avatar de B.Moncef
    �tudiant
    Inscrit en
    Ao�t 2007
    Messages
    75
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 75
    Par d�faut
    Ton code est faux. Tu as une accolade de plus a la fin de ton programme. et une de manquante pour fermer ton while ...

    Apprends aussi a correctement indenter et espacer ton code, parce que la ca aide franchement pas a la lecture.

  12. #12
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par curro Voir le message
    encors quelque petit changement:
    <...>
    ou faudrait il mettre le break ?
    D�j�, il faudrait des {} pour d�limiter la boucle while et supprimer le ';' apr�s le else... Une fois ceci corrig�, le break que tu as mis prend son sens.

  13. #13
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    104
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 104
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    34
    35
    36
    37
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main()
    {
     
    int nombre1 = 0, nombretape = 0;
     
    	srand(time(NULL));
        	nombre1 = (rand() % 50);
     
        printf("devinez le nombre\r\n");
     
    while(nombretape != nombre1)
    {    
     
        printf("donner un nombre entre 50 et 0 : ");
        scanf("%d", &nombretape);
     
     
          if (nombre1 < nombretape)
         	{    
         	   printf("vous ètes infèrieur\r\n");
    	}
     
          else if (nombre1 > nombretape)
     	{    
               printf("vous ètes supérieur\r\n");
      	}  
    }
     
         printf("vous avez trouvé bravo\r\n");
     
    return 0;
    }
    j'aurais plutot fais comme �a mais bon ...

  14. #14
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 235
    Par d�faut
    il faut pr�voir une porte de sortie taper par exemple 0 pour quitter

    int main (void) C
    int main ( ) C++
    les 2 notations sont accept�es

  15. #15
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par cmarsc Voir le message
    int main (void) C
    int main ( ) C++
    les 2 notations sont accept�es
    La seconde est hors-sujet...

Discussions similaires

  1. [MySQL] Probl�me dans mon code entre une recherche mysql et en php
    Par pasbonte dans le forum PHP & Base de donn�es
    R�ponses: 4
    Dernier message: 27/12/2008, 14h04
  2. Probl�me dans mon code
    Par mrbou dans le forum ASP
    R�ponses: 15
    Dernier message: 01/10/2008, 14h38
  3. R�ponses: 3
    Dernier message: 15/03/2008, 15h15
  4. R�ponses: 2
    Dernier message: 03/05/2007, 09h00
  5. R�ponses: 13
    Dernier message: 17/10/2006, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo