Bonjour, j'ai fait un petit programme "nombre mystère" qui est un jeu où l'on doit deviner un nombre.
Il marche, sauf à la fin quand on demande si on veut continuer la partie. En réponse booléenne (0/1) ça marche, mais en réponse français (oui/non) ça ne marche pas.
Il doit y avoir un problème avec la chaîne de caractères...
Merci .
Ci-joint le programme (il calcule aussi le nombre de coups nécessaires avant de gagner et la moyenne arithmétique du nombre de coups nécessaires sur plusieurs parties.)
Code:#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> int main ( int argc, char** argv) { float E,O,M; int R; char chaine[]="oui"; do { int nombreMystere = 0, nombreEntre = 0; const int MAX = 10, MIN = 1; srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; int N=0; do { { printf("Quel est le nombre ? "); scanf("%d", &nombreEntre); if (nombreMystere > nombreEntre) printf("C'est plus !\n\n"); else if (nombreMystere < nombreEntre) printf("C'est moins !\n\n"); else printf ("Bravo, vous avez trouve le nombre mystere !!!\n"); N++; M++; } } while (nombreEntre != nombreMystere); printf ("En %d coups.\n",N); printf ("M=%f.\n",M); printf ("Continuer partie ?"); scanf ("%s",&chaine ); O++; } while (chaine=="oui"); // c'est là que ça déconne !! printf ("O=%f.\n",O); E= M/O; printf ("E=%f.\n",E); return 0; }
-----