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 de structure


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut Problème de structure
    Bonjour à tous,

    J'ai commencé la programmation en C++ il y a deux trois jours, celà dit je bute (déjà) sur une chose, la voici:
    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
     
    #include <iostream> //inclusion de fichier
    using namespace std;
     
    void main(void)
    {
        //déclaration de deux variables
        int nbjoueur, nbmystere;
        // nombre du chiffre mystere
        nbmystere = 108;
     
        cout << "Entrez une tentative : ";
        //lecture du nombre entré par le joueur
        cin >> nbjoueur;
     
        //comparaison avec le nombre mystere
        if(nbjoueur == nbmystere)
            cout << "Felicitation ! "
                 << "Vous avez trouve le nombre mystere !"
                 << endl;
        else
        {
            if(nbjoueur < nbmystere)
                cout << "Plus !" << endl;
            else(nbjoueur > nbmystere)
                cout << "Moins !" << endl;
        }
    }
    Le problème c'est que la troisième ligne en partant du bas, il m'indique une erreur manquant ";" avant "cout", hors quand je le place avant cout, il ne me fait plus d'erreur mais le programme foire, cad qu'il me pose qu'une fois la question et après il ferme la console
    Bref j'ai un peu de mal à comprendre pq il me demande un point virgule là, si quelqu'un pouvais m'aider, merci. (n'oubliez pas, je débute :p)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2007
    Messages : 180
    Par défaut
    Essaie

    else
    cout << "Moins !" << endl;

    Je ne connais pas trop le C++, mais en C et C# tu ne peux pas faire de condition sur un else.

  3. #3
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Bonjour,

    Tu demandes l'execution de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (nbjoueur > nbmystere) cout << "Moins !" << endl;
    d'ou le plantage.

    si tu vires la condition tu changes le comportement en changeant > par >= (ce qui n'est peut etre pas genant, a toi de voir)

    Il suffit de rajouter un if:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    else if (nbjoueur > nbmystere)
    cout << "Moins !" << endl;

  4. #4
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Premier conseil
    Comme ça le code sera lisible.

    void main(void)
    main a plusieurs signature, mais celle-ci n'est pas correcte. main doit renvoyer un entier (int) pour donner le statut (succès ou échec) lors de la sortie du programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(nbjoueur == nbmystere) {
       cout << "Felicitation ! "
          << "Vous avez trouve le nombre mystere !"
          << endl;
    } else if(nbjoueur < nbmystere) {
          cout << "Plus !" << endl;
    } else(nbjoueur > nbmystere) {
          cout << "Moins !" << endl;
    }
    est ce que tu veux. Par ailleurs, ton programme ne te poseras la question qu'une seule fois quoi qu'il arrive. Pour qu'il te la pose plusieurs fois, il faut que tu y mettes une boucle (voir les tutoriels).

    Bon courage.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    Effectivement ça fonctionne, merci.
    Je ne savais pas que le else ne pouvait pas avoir de condition, pourtant dans le livre c'est indiquer comme ça, je vais contacter l'éditeur du livre pour savoir si il n'y a pas d'erreur dedans parce qu'il est de cette année.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    Ok patriarch, je ne savais pas pour code, je n'avais jamais posté sur un forum auparavant, et pour la boucle je m'en suis rendu après avoir posté lol

    Merci pour toute ces réponses, ça m'est d'une aide précieuse (je pensais pas en avoir autant en si peu de temps :p )

    Je vais essayer d'améliorer tout ça suivant vos conseils (ça devrait aller, suis pas trop nul finalement )

    A plus ^^

  7. #7
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Je ne savais pas que le else ne pouvait pas avoir de condition
    Bien sûr que si. Je n'avais pas vu. Mais le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(cond) {
    } else {
       if(cond2) {
     
       } else {
     
       }
    }
    est valide selon la grammaire du C++. Quel compilateur utilises-tu ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    J'utilise Visual C++ Express Edition

Discussions similaires

  1. Problème de structure "récursive"
    Par Pxnet dans le forum C
    Réponses: 5
    Dernier message: 21/01/2007, 17h20
  2. Problème de structures
    Par Zikas-r dans le forum C
    Réponses: 6
    Dernier message: 27/12/2006, 00h01
  3. Réponses: 16
    Dernier message: 21/08/2006, 14h12
  4. [Structures]Problème sur structures
    Par kendras dans le forum C++
    Réponses: 5
    Dernier message: 07/06/2006, 10h20
  5. [OCaml] Problème de structure/parser
    Par marv1 dans le forum Caml
    Réponses: 4
    Dernier message: 09/05/2005, 12h16

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