Erreur C debutant
Résolu
evolution
-
evolution -
evolution -
Bonjour,
j'apprend à coder en C grâce à notre amis bien connu mateo du site du zero,
J'en suis au c'est plus c'est moi ( je sais c'est pas très loin)
J'explique le but du programme l'ordinateur génère un nombre aléatoire il faut le trouver avec des indication c'est plus ou c'est moin.
bref le programme j'ai réussi a l'écrire, les améliorations comme le compteur de coup et les niveaus de difficulté aussi.
mais j'ai essayer autre chose qui ne marche pas c'est qu'en cas d'erreur de l'utilisateur sur le menu, le menu se réafiche.
j'arrete le suspense voila mon petit code
code block indique que l'erreur au niveau du while ! (peut etre avec le "ou")
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
const int min = 1;
int mystery_number = 0;
int max = 0;
int level = 0;
do
{
printf("1. Bebe\n");
printf("2. facile\n");
printf("3. sucidaire\n");
scanf("%d", &level);
if (level != 1, level != 2, level != 3)
printf("erreur \n");
} while (level=1 || level=2 || level=3);
if (level == 1)
max = 50;
else if (level == 2)
max = 100;
else if (level == 3)
max = 3000;
else
printf("erreur");
printf("\n Objectif: Vous devez trouver un nombre entre 1 et %d \n\n", max);
srand(time(NULL));
mystery_number = (rand() % (max - min + 1 )) + min;
int user_number = 0, shots = 1;
do
{
printf("Quel est le nombre? ");
scanf("%d", &user_number);
printf("\n");
if (user_number > mystery_number)
printf("C'est moin!\n\n");
else if (user_number < mystery_number)
printf("C'est plus! \n\n");
else
printf("Bravo vous avez trouver le nombre mystere en %d coups", shots);
shots++;
}while (user_number != mystery_number);
return 0;
}
j'apprend à coder en C grâce à notre amis bien connu mateo du site du zero,
J'en suis au c'est plus c'est moi ( je sais c'est pas très loin)
J'explique le but du programme l'ordinateur génère un nombre aléatoire il faut le trouver avec des indication c'est plus ou c'est moin.
bref le programme j'ai réussi a l'écrire, les améliorations comme le compteur de coup et les niveaus de difficulté aussi.
mais j'ai essayer autre chose qui ne marche pas c'est qu'en cas d'erreur de l'utilisateur sur le menu, le menu se réafiche.
j'arrete le suspense voila mon petit code
code block indique que l'erreur au niveau du while ! (peut etre avec le "ou")
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
const int min = 1;
int mystery_number = 0;
int max = 0;
int level = 0;
do
{
printf("1. Bebe\n");
printf("2. facile\n");
printf("3. sucidaire\n");
scanf("%d", &level);
if (level != 1, level != 2, level != 3)
printf("erreur \n");
} while (level=1 || level=2 || level=3);
if (level == 1)
max = 50;
else if (level == 2)
max = 100;
else if (level == 3)
max = 3000;
else
printf("erreur");
printf("\n Objectif: Vous devez trouver un nombre entre 1 et %d \n\n", max);
srand(time(NULL));
mystery_number = (rand() % (max - min + 1 )) + min;
int user_number = 0, shots = 1;
do
{
printf("Quel est le nombre? ");
scanf("%d", &user_number);
printf("\n");
if (user_number > mystery_number)
printf("C'est moin!\n\n");
else if (user_number < mystery_number)
printf("C'est plus! \n\n");
else
printf("Bravo vous avez trouver le nombre mystere en %d coups", shots);
shots++;
}while (user_number != mystery_number);
return 0;
}
A voir également:
- Erreur C debutant
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
2 réponses
merci c'etait exact :)
mais le programme ne marche quand meme pas
lorque je met une mauvaise entrée il met deux fois erreur et se fini...
Je vais méditer dessus :/
mais le programme ne marche quand meme pas
lorque je met une mauvaise entrée il met deux fois erreur et se fini...
Je vais méditer dessus :/
dans ce cas il faut une option pour quitter ;)
essaie ça, j'ai modifié légèrement ton code :
essaie ça, j'ai modifié légèrement ton code :
main() { const int min = 1; int mystery_number = 0; int max = 0; int level = 0; int user_number = 0, shots = 1; do { printf("0. Quitter\n"); printf("1. Bebe\n"); printf("2. facile\n"); printf("3. sucidaire\n"); scanf("%d", &level); if(level == 0) return 0; else if (level > 3) printf("erreur \n"); } while (level > 3); // tant que le choix n'est pas dans la liste on demande, sinon on passe à la suite if (level == 1) max = 50; else if (level == 2) max = 100; else if (level == 3) max = 3000; else { printf("erreur"); return 0; } printf("\n Objectif: Vous devez trouver un nombre entre 1 et %d \n\n", max); srand(time(NULL)); mystery_number = (rand() % (max - min + 1 )) + min; do { printf("Quel est le nombre? "); scanf("%d", &user_number); printf("\n"); if (user_number > mystery_number) printf("C'est moin!\n\n"); else if (user_number < mystery_number) printf("C'est plus! \n\n"); else printf("Bravo vous avez trouver le nombre mystere en %d coups", shots); shots++; }while (user_number != mystery_number); return 0; }