Probleme en language C
Résolu
Problemard
-
Problemard -
Problemard -
A voir également:
- Probleme en language C
- Language binaire - Guide
- Autocad 2008 language pack french - Forum AutoCAD
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Photoshop cs6 french language pack - Forum Photoshop
3 réponses
À 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.
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