Amélioration d'un code source
Fermé
arthurbest78
Messages postés
66
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
26 juin 2014
-
Modifié par arthurbest78 le 18/04/2010 à 11:39
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 19 avril 2010 à 11:56
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 19 avril 2010 à 11:56
A voir également:
- Amélioration d'un code source
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Comment créer un qr code - Guide
1 réponse
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
19 avril 2010 à 11:56
19 avril 2010 à 11:56
Voici déjà j'ai amélioré ton programme en ne séparant dans les if du choixMode que les parties nécessitant d'être séparées, le jeu en soit même se déroule après et est commun aux deux modes de jeux.
Si l'utilisateur entre autre chose que 1 ou 2 ça quitte le programme car on passe dans le else et on dit "Au revoir".
Et sinon ça lui propose à chaque fois de rejouer car tout le programme est dans un do { ... } while(1 == 1); qui est toujours vrai donc qui boucle à l'infini.
Si l'utilisateur entre autre chose que 1 ou 2 ça quitte le programme car on passe dans le else et on dit "Au revoir".
Et sinon ça lui propose à chaque fois de rejouer car tout le programme est dans un do { ... } while(1 == 1); qui est toujours vrai donc qui boucle à l'infini.
#include <stdio.h> #include <stdlib.h> #include <time.h> int main () { do { int choixMode; system("cls"); printf("A combien de joueur voulez-vous jouer (1 ou 2, 0 pour quitter) ? "); scanf("%d", &choixMode); system("cls"); int nombreMystere = 0, nombreEntre = 0; int min = 1, max = 10; if (choixMode == 1) { int choixNiveau; printf("Quel niveau voulez vous choisir ? \n\n"); printf("Niveau 1, entre 1 et 10 \n"); printf("Niveau 2, entre 1 et 100 \n"); printf("Niveau 3, entre 1 et 1000 \n"); printf("Niveau 4, entre 1 et 10000 \n"); printf("Niveau 5, entre 1 et 100000\n\n"); printf("Je veux jouer au niveau "); scanf("%d", &choixNiveau); system("cls"); switch(choixNiveau) { case 1: max = 10; break; case 2: max = 100; break; case 3: max = 1000; break; case 4: max = 10000; break; case 5: max = 100000; break; default: printf("Votre Nombre est incorrect"); break; } // on génére le nombre mystère aléatoirement nombreMystere = (rand() % (max - min + 1)) + min; } else if (choixMode == 2) { printf("Pour information le Joueur 1 ecrit un nombre et le Joueur 2 cherche le nombre.\n\n"); printf("Joueur 1 veuillez donner un indice au Joueur 2 du type suivant: le nombre se trouve entre 1 et 100\n"); printf("trouve entre 1 et 100\n\n"); printf("Joueur 1 veuiller ecrire votre nombre et retenez le !\n\n"); printf("Mon nombre est le "); scanf("%d", &nombreMystere); // on lit le nombre mystère system("cls"); } else { // Si l'utilisateur entre autre chose on quitte printf("Au revoir !\n"); return 0; } int nombreDeCoups1 = 0; srand(time(NULL)); do { printf("Quel est le nombre ? "); scanf("%d", &nombreEntre); nombreDeCoups1++; 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 en %d coups !!!\n\n", nombreDeCoups1); } while (nombreEntre != nombreMystere); system("pause"); } while(1 == 1); // boucle infinie car 1 est toujours égal à 1 }