CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

JYY

rezytre
rezytre
Niveau 5
24 octobre 2003 à 22:08:34

je voulu faire un mode facile moyen et difficile.
g 99 lignes dans mon prog et g 1 erreur à la ligne 100.
voici l´erreur:
-100 parse error at end of input

et voici le prog:

  1. include < iostream.h>
  2. include < stdlib.h>
  3. include < time.h>
  4. include < string.h>

int main()
{
srand(time(NULL));

char*

listemots[52]={"agonie","amical","baiser","borgne"
,"chenil","couche","danger","donjon","effort","emb
out","facile","festin","gloire","gospel","humain",
"hippie","ignare","injure","jockey","jargon","kimo
no","klaxon","lettre","loquet","manger","miroir","
nation","novice","odorat","orange","palais","poiso
n","quartz","quinze","raison","rosier","salami","s
olide","teigne","tortue","ultime","utopie","valeur
","vessie","wapiti","whisky","xoanon","xylose","ya
kusa","youyou","zigzag","zombie"};
char trouve[20];
int a;
for(a=0;a<20;a++) trouve[a]=0;
int gagne=0;
int n;
n = rand()%52;
char d;

cout < <"24/10/2003\n\nVoici un jeu semblable au pendu.\n\nVous devez trouver un mot en proposant des lettres."<<endl;
int l;
cout < <"\n1 FACILE\n\n2 NORMAL\n\n3 DIFFICILE\n"<<endl;
cin > > l;
if ( l=1)
{
int nbcoups = 20;
while(gagne==0 && nbcoups>0)
{
cout < <"\nVous avez droit a 20 coups"<<endl;
if ( l=2)
{
int nbcoups = 15;
while(gagne==0 && nbcoups>0)
{
cout < <"\nVous avez droit a 10 coups"<<endl;
if ( l=3)
{
int nbcoups = 10;
while(gagne==0 && nbcoups>0)
{
cout < <"\nVous avez droit a 10 coups"<<endl;
cout < <"\nEntrez une lettre ! \n" < <endl;
cin > > d;
int o;
o = nbcoups--;
int nb=0;
for(a=0;a<strlen(listemots[n]);a++)
{
if ( listemots[n][a]==d)
{
trouve[a]=1;
nb++;
} // fin du if
} // fin du for
if(nb==0)
{
cout < <"\nIl vous reste " <<o<<" coups"<<endl;
cout < <"\nVotre lettre n´existe pas dans ce mot."<<"\n"<<endl;
}
else
{
cout < <"\nIl vous reste " <<o<<" coups\n"<<endl;
}
// Affiche le mot avec des *
for(a=0;a<strlen(listemots[n]);a++)
{
if ( trouve[a]==1) cout < < listemots[n][a];
else
cout < < " *";
} // fin du for
cout < < endl;
cout < <"\nAvez vous trouve le mot ( 1 pour oui, 0 pour non)?" ;
int t;
cin > > t;
cout < <"\n";
if ( t==1)
{
cout < < " Proposez votre mot ! \n" < < endl;
char c[100];
cin > > c;
if(strcmp(c,listemots[n])==0)
gagne = 1;
else cout < <"\nCe n´est pas le bon mot ! " < <endl;
} // fin du if t==1
} // fin du while gagne, passe que si gagne =
if ( gagne==1){
cout < < " \n!!!!!!!!!!VICTOIRE!!!!!!!!!!\n\n!!!!!!!!!!VOUS AVEZ TROUVE LE BON MOT!!!!!!!!!!" < < endl;
}
if ( nbcoups<=0){
cout < <"\n!!!!!!!!!!NOMBRE DE COUPS
ECOULE!!!!!!!!!!\n\n!!!!!!!!!!PERDU!!!!!!!!!!"<<en
dl;
}
}
}
}
cin > > n; // juste pour qu´il ne sorte pas

return 0;
}

rezytre
rezytre
Niveau 5
24 octobre 2003 à 22:16:23

g arrangé le blem en rajoutant d }

maintenant qd je lance,je choisi entre facile normal et difficile mais chaque mode est identique. 10 pour tous alors que je voudrais 10 pour difficile, 15 pour normal et 20 pour facile.

rezytre
rezytre
Niveau 5
24 octobre 2003 à 22:29:54

qd je pale de 10, c le nb de coups.

JeanYvesYves
JeanYvesYves
Niveau 10
24 octobre 2003 à 23:03:13

et bien excellent :)

tu vois, ça te forge en algorithmie ! tu prends bien la main !
continue ! :)

rezytre
rezytre
Niveau 5
25 octobre 2003 à 09:12:07

mais non pa excellent.
je t di o dessus ke j´avais d blems.
aidez moi svp.

rezytre
rezytre
Niveau 5
25 octobre 2003 à 09:36:34

g changé le code:

  1. include < iostream.h>
  2. include < stdlib.h>
  3. include < time.h>
  4. include < string.h>

int main()
{
srand(time(NULL));

char*

listemots[52]={"agonie","amical","baiser","borgne"
,"chenil","couche","danger","donjon","effort","emb
out","facile","festin","gloire","gospel","humain",
"hippie","ignare","injure","jockey","jargon","kimo
no","klaxon","lettre","loquet","manger","miroir","
nation","novice","odorat","orange","palais","poiso
n","quartz","quinze","raison","rosier","salami","s
olide","teigne","tortue","ultime","utopie","valeur
","vessie","wapiti","whisky","xoanon","xylose","ya
kusa","youyou","zigzag","zombie"};
char trouve[20];
int a;
for(a=0;a<20;a++) trouve[a]=0;
int gagne=0;
int n;
n = rand()%52;
char d;

cout < <"24/10/2003\n\nVoici un jeu semblable au pendu.\n\nVous devez trouver un mot en proposant des lettres."<<endl;
int l;
cout < <"\n1 FACILE\n\n2 NORMAL\n\n3 DIFFICILE\n"<<endl;
cin > > l;

if ( l=1)
{
int k = 20;
cout < <"\nVous avez droit a 20 coups"<<endl;
while(gagne==0 && k>0)
{
cout < <"\nEntrez une lettre ! \n" < <endl;
cin > > d;
int x;
x = k--;
int nb=0;
for(a=0;a<strlen(listemots[n]);a++)
{
if ( listemots[n][a]==d)
{
trouve[a]=1;
nb++;
} // fin du if
} // fin du for
if(nb==0)
{
cout < <"\nIl vous reste " <<x<<" coups"<<endl;
cout < <"\nVotre lettre n´existe pas dans ce mot."<<"\n"<<endl;
}
else
{
cout < <"\nIl vous reste " <<x<<" coups\n"<<endl;
}
// Affiche le mot avec des *
for(a=0;a<strlen(listemots[n]);a++)
{
if ( trouve[a]==1) cout < < listemots[n][a];
else
cout < < " *";
} // fin du for
cout < < endl;
cout < <"\nAvez vous trouve le mot ( 1 pour oui, 0 pour non)?" ;
int t;
cin > > t;
cout < <"\n";
if ( t==1)
{
cout < < " Proposez votre mot ! \n" < < endl;
char c[100];
cin > > c;
if(strcmp(c,listemots[n])==0)
gagne = 1;
else cout < <"\nCe n´est pas le bon mot ! " < <endl;
} // fin du if t==1
} // fin du while gagne, passe que si gagne =
if ( gagne==1){
cout < < " \n!!!!!!!!!!VICTOIRE!!!!!!!!!!\n\n!!!!!!!!!!VOUS AVEZ TROUVE LE BON MOT!!!!!!!!!!" < < endl;
}
if ( k<=0){
cout < <"\n!!!!!!!!!!NOMBRE DE COUPS
ECOULE!!!!!!!!!!\n\n!!!!!!!!!!PERDU!!!!!!!!!!"<<en
dl;
}
}

if ( l=2)
{
int p = 15;
cout < <"\nVous avez droit a 15 coups"<<endl;
while(gagne==0 && p>0)
{
cout < <"\nEntrez une lettre ! \n" < <endl;
cin > > d;
int b;
b = p--;
int nb=0;
for(a=0;a<strlen(listemots[n]);a++)
{
if ( listemots[n][a]==d)
{
trouve[a]=1;
nb++;
} // fin du if
} // fin du for
if(nb==0)
{
cout < <"\nIl vous reste " <<b<<" coups"<<endl;
cout < <"\nVotre lettre n´existe pas dans ce mot."<<"\n"<<endl;
}
else
{
cout < <"\nIl vous reste " <<b<<" coups\n"<<endl;
}
// Affiche le mot avec des *
for(a=0;a<strlen(listemots[n]);a++)
{
if ( trouve[a]==1) cout < < listemots[n][a];
else
cout < < " *";
} // fin du for
cout < < endl;
cout < <"\nAvez vous trouve le mot ( 1 pour oui, 0 pour non)?" ;
int t;
cin > > t;
cout < <"\n";
if ( t==1)
{
cout < < " Proposez votre mot ! \n" < < endl;
char c[100];
cin > > c;
if(strcmp(c,listemots[n])==0)
gagne = 1;
else cout < <"\nCe n´est pas le bon mot ! " < <endl;
} // fin du if t==1
} // fin du while gagne, passe que si gagne =
if ( gagne==1){
cout < < " \n!!!!!!!!!!VICTOIRE!!!!!!!!!!\n\n!!!!!!!!!!VOUS AVEZ TROUVE LE BON MOT!!!!!!!!!!" < < endl;
}
if ( p<=0){
cout < <"\n!!!!!!!!!!NOMBRE DE COUPS
ECOULE!!!!!!!!!!\n\n!!!!!!!!!!PERDU!!!!!!!!!!"<<en
dl;
}
}

if ( l=3)
{
int nbcoups = 10;
cout < <"\nVous avez droit a 10 coups"<<endl;
while(gagne==0 && nbcoups>0)
{
cout < <"\nEntrez une lettre ! \n" < <endl;
cin > > d;
int o;
o = nbcoups--;
int nb=0;
for(a=0;a<strlen(listemots[n]);a++)
{
if ( listemots[n][a]==d)
{
trouve[a]=1;
nb++;
} // fin du if
} // fin du for
if(nb==0)
{
cout < <"\nIl vous reste " <<o<<" coups"<<endl;
cout < <"\nVotre lettre n´existe pas dans ce mot."<<"\n"<<endl;
}
else
{
cout < <"\nIl vous reste " <<o<<" coups\n"<<endl;
}
// Affiche le mot avec des *
for(a=0;a<strlen(listemots[n]);a++)
{
if ( trouve[a]==1) cout < < listemots[n][a];
else
cout < < " *";
} // fin du for
cout < < endl;
cout < <"\nAvez vous trouve le mot ( 1 pour oui, 0 pour non)?" ;
int t;
cin > > t;
cout < <"\n";
if ( t==1)
{
cout < < " Proposez votre mot ! \n" < < endl;
char c[100];
cin > > c;
if(strcmp(c,listemots[n])==0)
gagne = 1;
else cout < <"\nCe n´est pas le bon mot ! " < <endl;
} // fin du if t==1
} // fin du while gagne, passe que si gagne =
if ( gagne==1){
cout < < " \n!!!!!!!!!!VICTOIRE!!!!!!!!!!\n\n!!!!!!!!!!VOUS AVEZ TROUVE LE BON MOT!!!!!!!!!!" < < endl;
}
if ( nbcoups<=0){
cout < <"\n!!!!!!!!!!NOMBRE DE COUPS
ECOULE!!!!!!!!!!\n\n!!!!!!!!!!PERDU!!!!!!!!!!"<<en
dl;
}
}
cin > > n; // juste pour qu´il ne sorte pas

return 0;
}

le blem c ke je choisisse le mode facile, normal ou difficile et bien c le mode facile qui est chargé.

freedix
freedix
Niveau 10
25 octobre 2003 à 10:19:57

Quand tu fais les trois tests pour savoir quel mode l´utilisateur a choisi, tu as fais ça :
if ( l = 1 )
Là, tu assigne la valeur 1 à la variable l
Alors qu´il faut que tu testes avec les deux =
donc if ( l == 1 ) :)

freedix
freedix
Niveau 10
25 octobre 2003 à 10:23:51

Avec le forum, je vois pas comment tu positionnes ton code mais si tu l´écris de cette manière, pense à indenter ton code, ça le rendra + facile à lire et pour les conditions, tu verras si tu n´as pas oublié de faire d´accolades etc... :)

freedix
freedix
Niveau 10
25 octobre 2003 à 10:28:11

Sinon, pour ne pas faire d´erreurs dans tes tests, tu peux inverser les valeurs à tester. ex :
if ( a = 2 ) le compilateur ne va rien dire
alors que si tu fais :
if ( 2 = a ) le compilateur va te retourner une erreur :)

rezytre
rezytre
Niveau 5
25 octobre 2003 à 10:30:09

merci beaucoup
en fait il manquait juste ==
moi je mettais juste =
merci

JeanYvesYves
JeanYvesYves
Niveau 10
25 octobre 2003 à 16:06:50

Oui, il faut faire gaffe aux erreurs = et ==

Comme dit Freedix, quand fais I=1 il assigne la valeur 1 à I

ça revient a la meme chose que si tu faisais
if ( 1)

et cette condition est toujours vraie : si tu mets un nombre positif comme ça dans un I, il retourne vrai.
Si tu mets 0, il retourne faux
si tu mets un nombre négatif... ça dépend des compilateurs ! !!

C pour ça que je te conseilel fortement d´éviter de jouer avec cela

pense bien, TOUJOURS a vérifier, que tu as un test d´égalité dans ton if.

Essaie de voir si tu as un mode " -Wall" c´est a dire il te marque un message a la compilation sur TOUT ce qui est louche.

genre il t´aurait mis ici :
if ( I=1) --> Warning : condition is always true.
( ce qui de toute façon n´est pas normal...)

si tu n´as rien compris a mon message, C pas grave, ça ne t´empeche pas de programmer, fait juste gaffe aux = et == : c´est tout ce qu´il y a a retenir :)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment