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 sur des variables.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut Problème sur des variables.
    Bonjour,

    Je débute dans la programmation et je modifie des codes dans des exercices. Voilà, je suis bloqué en voulant faire un petit programme simpliste et je n'arrive pas à trouvé mon erreur malgré que mon logiciel l'indique. Voici le code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int main(int argc, char *argv[])
    {
        int pieceOr = 10 //Le joueur aura au depart 10 pièces d'or
     
        printf("Vous avez %d Po\n", pieceOr);
        printf("Validation\n");//Validation du système
        po = 5;//Il ne reste plus que cette somme aux joueurs après avoir acheté.
        printf("Vous avez dépenses %d Po !\n\n", pieceOr);
     
        return 0;
    }
    Pouvez-vous m'aider d'où vient le problème dans ce code ?
    Merci d'avance...

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Bonjour,

    • Il manque un point-virgule après « int pieceOr = 10 » ;
    • À la ligne 8, la variable « po » n'existe pas.


    Il faut prendre le temps de lire les messages du compilateur : ils t'indiquent le plus souvent la raison exacte du problème et, dans tous les cas, la ligne concernée.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut
    Merci beaucoup !
    En effet, j'avais complètement zappé le ";" et ça à finit par marcher. La prochaine fois, je lirais attentivement le message d'erreur.

    Je suis sous windows et j'utilise code Blocks
    Merci à vous deux !

    (Quel erreur stupide d'oublier le :";" :s)

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Citation Envoyé par Conjugue Voir le message
    (Quel erreur stupide d'oublier le :";" :s)
    Tous les programmeurs C sont passés par là. :-)

    Moi-même, j'ai passé trois jours à essayer de comprendre pourquoi une de mes boucles while s'exécutait une et une seule fois, quelle que soit la condition, avant de réaliser que j'avais collé un « ; » juste après celle-ci et que le code ainsi formé restait syntaxiquement correct.

    Tu viens donc de passer au stage 2. Félicitations. :-)

  5. #5
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Citation Envoyé par Conjugue Voir le message
    Bonjour,

    Je débute dans la programmation et je modifie des codes dans des exercices. Voilà, je suis bloqué en voulant faire un petit programme simpliste et je n'arrive pas à trouvé mon erreur malgré que mon logiciel l'indique. Voici le code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int main(int argc, char *argv[])
    {
        int pieceOr = 10 //Le joueur aura au depart 10 pièces d'or
     
        printf("Vous avez %d Po\n", pieceOr);
        printf("Validation\n");//Validation du système
        po = 5;//Il ne reste plus que cette somme aux joueurs après avoir acheté.
        printf("Vous avez dépenses %d Po !\n\n", pieceOr);
     
        return 0;
    }
    Pouvez-vous m'aider d'où vient le problème dans ce code ?
    Merci d'avance...
    Salut,
    Il est toujours intéressant de préciser en cas de problèmes :
    1. sur quelle plateforme tu travailles (linux, windows, mac)
    2. quels outils tu utilises (VS, code blocks, ...)
    3. les messages d'erreurs que tu reçois.

    Dans ton cas, quand tu essayes de compiler ce code tu obtiens des messages d'erreurs qui doivent ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $ gcc -c po.c 
    po.c: In function ‘main’:
    po.c:5:5: error: expected ‘,’ or ‘;’ before ‘printf’
    po.c:6:5: warning: incompatible implicit declaration of built-in function ‘printf’
    po.c:7:5: error: ‘po’ undeclared (first use in this function)
    po.c:7:5: note: each undeclared identifier is reported only once for each function it appears in
    Le message po.c:5:5: error: expected ‘,’ or ‘;’ before ‘printf’
    t'indique qu'avant le printf de la ligne 5 il manque un , ou un ;
    -> effectivement tu as oublié le ; après ta déclaration de pieceOr

    int pieceOr = 10; //Le joueur aura au depart 10 pièces d'or

    Le message po.c:6:5: warning: incompatible implicit declaration of built-in function ‘printf’
    t'indique que tu utilises une fonction (printf) que tu n'as pas déclarée. Celle-ci fait partie de la bibliothèque standard et pour la déclarer il faut rajouter un
    #include <stdio.h>
    en tout début de fichier
    Le message po.c:7:5: error: ‘po’ undeclared (first use in this function)
    t'indique que tu utilises une variable nommée po que tu n'as pas déclarée. Il faut déclarer toutes les variables que tu utilises.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/10/2006, 11h21
  2. [Sécurité] Problème avec des variables de session
    Par zoom61 dans le forum Langage
    Réponses: 28
    Dernier message: 18/08/2006, 21h05
  3. [MySQL] Problème sur des comptes (login/mdp)
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/03/2006, 15h41
  4. Problème sur des chaînes de caractères
    Par Anonymous dans le forum Access
    Réponses: 9
    Dernier message: 16/09/2005, 08h21
  5. Réponses: 4
    Dernier message: 15/12/2002, 04h19

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