Probleme en language C
Résolu/Fermé
A voir également:
- Probleme en language C
- Language binaire - Guide
- Windows 7 language pack french download offline ✓ - Forum Windows 7
- Anno 1404 change language ✓ - Forum Jeux vidéo
- Office 2016 language pack french 64-bit ✓ - Forum Bureautique
- Windows display language french - Guide
3 réponses
thomas87b
Messages postés
275
Date d'inscription
mardi 2 septembre 2008
Statut
Membre
Dernière intervention
23 octobre 2020
64
28 avril 2009 à 22:08
28 avril 2009 à 22:08
À quoi ça sert de dire if ( choix2 == 1 && choix2 !=3 && choix2 != 2 ) ?
Si choix2==1, il est forcement différent de 2 et de 3.
Là, c'est pareil :
}while ( choix3 != nombreMystere );
if ( choix3 == nombreMystere )
{
choix3 est forcement égal à nombreMystere.
Si choix2==1, il est forcement différent de 2 et de 3.
Là, c'est pareil :
}while ( choix3 != nombreMystere );
if ( choix3 == nombreMystere )
{
choix3 est forcement égal à nombreMystere.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 avril 2009 à 23:28
28 avril 2009 à 23:28
Salut,
En effet, beaucoup de redondance dans les conditions.
En plus ton srand(time(NULL)) ainsi que le calcul de "nombreMystere" sont définis dans ta boucle do-while, donc exécutés à chaque itération.
Voici ton programme corrigé :
Cdlt
En effet, beaucoup de redondance dans les conditions.
En plus ton srand(time(NULL)) ainsi que le calcul de "nombreMystere" sont définis dans ta boucle do-while, donc exécutés à chaque itération.
Voici ton programme corrigé :
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { long nombreMystere = 0; long choix3 = 0; long conMAX; long conMIN = 1; long choix1 = 0; long choix2; printf("Bonjour ! Le but est de trouver le nombre mystere : c'est parti !\n"); printf("Genereation du nombre mystere ...\n"); do { printf("Choisissez un niveau :\n 1 - Facile ( entre 1 et 100 )\n 2 - Moyen ( entre 1 et 500 )\n 3 - Difficile ( entre 1 et 1000 )\n=== "); scanf("%ld", &choix2); switch(choix2) { case 1: printf("Vous avez choisi le niveau 1\n"); conMAX = 100; break; case 2: printf("Vous avez choisi le niveau 2\n"); conMAX = 500; break; case 3: printf("Vous avez choisi le niveau 3\n"); conMAX = 1000; break; } srand(time(NULL)); nombreMystere = (rand() % (conMAX - conMIN + 1)) + conMIN; do { printf("Veuillez choisir un nombre : "); scanf("%ld" , &choix3); if (choix3 < nombreMystere) printf("Le nombre mystere est plus grand que ca !!\n"); else if (choix3 > nombreMystere) printf("Le nombre mystere est plus petit que ca !!\n"); else printf("Bravo !!! Vous avez trouve le nombre mystere !!!\n"); }while (choix3 != nombreMystere); do { printf("Voulez-vous rejouer ???\n 1 - Oui\n 2 - Non\n"); scanf("%ld" ,&choix1); switch(choix1) { case 1: break; case 2: return 0; default: choix1=-1; printf("Veuillez entrer un nombre correct\n"); } } while(choix1==-1); } while ( choix1 == 1); return 0; }
Cdlt