Page 1 sur 1

le pendu boucle sans fin

MessagePosté: 29 Déc 2008, 17:04
de imad
est-ce-que ma condition d'arrêt et bonne?
while((cpt3<5)||(lettre!='?')||(cpt4<10))
parce que mon programme affiche bien si j'ai gagnez ou perdu mais il continue quand même a me demander de saisir une lettre,
voici mon programme pour m'indiquer si il ya des modification a faire pour une meilleur presentation


Code: Tout sélectionner
#include<iostream>
#include<string>

using namespace std;


void affichePendu(int nberreur)
{
   if(nberreur==1)
   {
      cout<<"\x0c4"<<"\x0c4"<<"\x0c4"<<"\x0c4"<<endl;
   }
   if(nberreur==2)
   {
      cout<<"     "<<"\x0b3"<<endl;
      cout<<"                                                  "<<"\x0b3"<<endl;
      cout<<"                                                 "<<"\x0c4"<<"\x0c1"<<"\x0c4"<<endl;
   }
   if(nberreur==3)
   {
      cout<<"     "<<"\x0da"<<"\x0c4"<<"\x0c4"<<endl;
      cout<<"                                                  "<<"\x0b3"<<endl;
      cout<<"                                                  "<<"\x0b3"<<endl;
      cout<<"                                                 "<<"\x0c4"<<"\x0c1"<<"\x0c4"<<endl;
   }
   if(nberreur==4)
   {
      cout<<"     "<<"\x0da"<<"\x0c4"<<"\x0c4"<<"\x0aa"<<endl;
      cout<<"                                                  "<<"\x0b3"<<"  "<<endl;
      cout<<"                                                  "<<"\x0b3"<<endl;
      cout<<"                                                 "<<"\x0c4"<<"\x0c1"<<"\x0c4"<<endl;
   }
   if(nberreur==5)
   {
      cout<<"     "<<"\x0da"<<"\x0c4"<<"\x0c4"<<"\x0aa"<<endl;
      cout<<"                                                  "<<"\x0b3"<<"  "<<"\x0a9"<<endl;
      cout<<"                                                  "<<"\x0b3"<<"  "<<"\x0c5"<<endl;
      cout<<"                                                 "<<"\x0c4"<<"\x0c1"<<"\x0c4"<<endl;
      cout<<" vous avez etait pendu"<<endl;
   }
}
void main ()
{
   int cpt=0,cpt1=0,cpt2=0,cpt3=0,cpt4=0;
   char lettre,mot[10],maut[10];
   while(cpt<10)
   {
      maut[cpt]='-';
      cpt++;
   }
   cpt=0;
   cout<<"veuillez entrer votre mot de 10 lettre svp ! :"<<endl;
   while(cpt<10)
   {
      cin>>mot[cpt];
      cpt++;
   }
   cpt=0;
   cout<<"si vous voulet quitter entrer '?' sinon entrer une lettre quelconque"<<endl;
   cin>>lettre;
   cout<<"----------"<<endl;
   
   {
      cpt4=0;
      cout<<"veuillez saisir une lettre :";
      cin>>lettre;
      while(cpt<10)
      {
         if(lettre==mot[cpt])
         {
            maut[cpt]=mot[cpt];
         }
         if(mot[cpt]!=lettre)
         {
            cpt2++;
         }
         cpt++;
      }
      if(cpt2==10)
      {
         cpt3++;
         cout<<"cette lettre ne se touve pa das le mot       ";
         affichePendu(cpt3);
      }   
      cpt2=0;
      cpt=0;
      while(cpt<10)
      {
         cout<<maut[cpt];
         cpt++;
      }
      cout<<endl;
      cpt=0;
      while(cpt<10)
      {
         if(mot[cpt]==maut[cpt])
         {
            cpt4++;
         }
         cpt++;
      }
      
      if(cpt4==10)
      {
         cout<<"bravo vous avez gagner"<<endl;
      }
      cpt=0;
   }
   cout<<"fin du jeu"<<endl;
}

Re: le pendu boucle sans fin

MessagePosté: 30 Déc 2008, 15:04
de Tibo
Salut Imad,
c'est un bon début (voir même très bon). Mais je me permet deux remarque : d'abord, il faut que tu postes le code entre les balises
Code: Tout sélectionner
"[code]" et "[/code]"
(je me suis permit de modifier ton message...). Ensuite, il faut essayer de donner des noms de variables plus logique (c'est quoi cpt3? et cpt4?...)

Pour ta condition, tu auras la réponse en trouvant la bonne phrase :
Code: Tout sélectionner
tant que le compteur d'essais est inférieur à 3 OU la lettre est différente de '?' OU le nombre de bonnes lettres est inférieure à 10 faire...

Code: Tout sélectionner
tant que le compteur d'essais est inférieur à 3 ET que la lettre est différente de '?' ET que le nombre de bonnes lettres est inférieure à 10 faire...


Bon courage, sinon, pour l'affichage, c'est pas mal fait, essaye de mettre de la couleur et ça sera parfait. Ensuite, oublie pas d'effacer l'écran à chaque proposition...