Bonjour,
Je suis le cours du SdZ sur le C/C++ et je suis bloqué sur le premier TP,
Lien.
J'ai réussi a programmer le Jeu, mais je bloque sur les idées d'amélioration ( Refaie une autre partie, je sais qu'il faut créer une boucle avec une condition qui s'éxécute si l'utilisateur répond 1 mais je n'y arrive pas
Voici mon Code Source :
Code: 

- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
-
- {
- long nombreMystere = 0, nombreEntre = 0, autrePartie = 1;
- const long MAX = 100, MIN = 1;
-
-
- srand(time(NULL));
- nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
-
-
-
- do
- {
- printf("le nombre ?\n\n");
- scanf("%ld", &nombreEntre);
- printf("\n");
-
- if ( nombreEntre < nombreMystere )
- printf("C'est plus !\n\n");
-
- else if ( nombreEntre > nombreMystere )
- printf("C'est moins\n\n");
-
- else
-
- printf ("Vous avez trouvé !\n\n Voulez vous faire une autre partie 1-Oui, 0-Non");
- scanf("%ld",&autrePartie);
-
- }
- while (nombreEntre != nombreMystere && autrePartie == 1);
-
-
-
-
-
- return 0;
- }
Quand j'éxécute ce code, J'arrive a jouer une partie, Mais lorsque, le printf qui demande a l'utilisateur si il veux faire une autre partie, qu'importe la réponse, le programme se met en pause

.
Je crois que l'erreur est que je ne sait pas placer la condition/boucle pour recommencer, mais je n'en suit pas sûr.
Merci d'avance pour toute aide.
PS : je précise que si il manque des System Pause et autre c'est parce que je programme sous Code::Blocks sous Linux
(Modifié par kasper le 21-08-2008 à 13:01)
(Modifié par kasper le 21-08-2008 à 13:07)
Ajout du 21-08-2008 à 13:27:
Bon résolu, j'ai réussi !
Code: 

- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
-
- {
- long nombreMystere = 0, nombreEntre = 0, rejouer = 0, compteur = 0;
- const long MAX = 100, MIN = 1;
-
-
- srand(time(NULL));
- nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
-
- do
- {
- do
- {
- printf("le nombre ?\n\n\n");
- scanf("%ld", &nombreEntre);
- printf("\n");
-
- if ( nombreEntre < nombreMystere )
- printf("C'est plus !\n\n");
-
- else if ( nombreEntre > nombreMystere )
- printf("C'est moins\n\n");
-
- else
- printf("Bravoooo, c'est bien cela ! Vous avez trouvé en %ld coups ! ",compteur);
-
- compteur++;
-
- }
- while ( nombreEntre != nombreMystere );
-
- rejouer = 0;
-
- printf("Voulez-vous rejouer ? 1 pour oui, 0 pour non\n\n\n");
- scanf("%ld", &rejouer);
-
- if(rejouer > 1)
- {
- rejouer = 0;
- }
- }while (rejouer == 1);
-
-
-
-
- return 0;
- }
C'était tout bête
(Modifié par kasper le 22-08-2008 à 12:10)