Nombre maximal d'essaie (C++)
KrisJ
-
KrisJ -
KrisJ -
Bonjour,
Je construit un programme pour mon cours et il me reste 1 bug !! et bien sure je n'arrive pas a trouver la solution...
Mon programme construit une opération arithmetique pour permettre a lutilisateur de tester ses capacités mathématique! Il choisit entre +,-,* ou /. il a 5 chances, si apres 5 fois il ne reussit pas a trouver, le programme lui donne la bonne réponse!
Ensuite, le menu se ré-affiche (cela jusqua ce que l'utilisateur décide de quitter avec 'Q')
mon problème est que si l'utilisateur choisit encore la même opération et que la derniere fois et que cette derniere fois la il avait utiliser les 5 chances...et bien plus rien ne marche :( !
Voila mon C++ :
#include <iostream>
using namespace std;
void main() {
int i, j, k, l, NombreSecret1, NombreSecret2, REP, A;
char CO;
i=0, j=0, k=0, l=0;
do {
cout << "\n =========================== \n";
cout << " TEST DE D'ARITHMETIQUES \n";
cout << " =========================== \n";
cout << " + : Addition\n";
cout << " - : Soustraction\n";
cout << " * : Multiplication\n";
cout << " / : Division\n";
cout << " ? : Aide\n";
cout << " q : Quitter\n";
cout << " =========================== \n";
cout << " Choix = ";
cin >> CO;
NombreSecret1 = rand() % 50 +1;
NombreSecret2 = rand() % 50 +1;
switch (CO) {
case '+' :
cout <<"\n Addition\n";
do{
cout << NombreSecret1;
cout << "+";
cout << NombreSecret2;
cout << "= ";
cin >> REP;
i++;
A = NombreSecret1 + NombreSecret2;
if ((REP!=A) && (i<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (i!=5));
if ((REP!=A) && (i==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '-':
cout <<"\n Soustraction\n";
do{
cout << NombreSecret1;
cout << "-";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
j++;
A = NombreSecret1 - NombreSecret2;
if ((REP!=A) && (j<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (j!=5));
if ((REP!=A) && (j==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '*':
cout <<"\n Multiplication\n";
do{
cout << NombreSecret1;
cout << "*";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
k++;
A = NombreSecret1 * NombreSecret2;
if ((REP!=A) && (k<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (k!=5));
if ((REP!=A) && (k==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '/':
cout <<"\n Division\n";
do{
cout << NombreSecret1;
cout << "/";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
l++;
A = NombreSecret1 / NombreSecret2;
if ((REP!=A) && (l<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (l!=5));
if ((REP!=A) && (l==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '?':
cout <<"\n Fonction Aide\n";
cout <<" Ce programme evalue vos capacites de calcul.\n";
cout <<" Vous devez choisir l operation sur laquelle \n vous serez evalue parmi +, - / ou * \n ";
cout <<"Le programme prend au hasard 2 nombres, compose l expression arithmetique \n et demande de donner le resultat.\n";
cout <<" Si le resultat est exact, le programme affiche exact. \n";
cout <<" Dans le cas contraire, le programme donne une autre chance a l utilisateur \n de trouver le resultat.\n";
cout <<" Si l utilisateur se trompe 5 fois, \n";
cout <<" le programme affiche le resultat et affiche de nouveau le menu principal.\n";
break;
case 'q':
cout <<"Aurevoir!\n";
break;
case 'Q':
cout <<"Aurevoir!\n";
break;
default:
cout <<"\nEntrer invalide\n";
break;
}
}
while ((CO!='Q') && (CO!='q'));
}
Je construit un programme pour mon cours et il me reste 1 bug !! et bien sure je n'arrive pas a trouver la solution...
Mon programme construit une opération arithmetique pour permettre a lutilisateur de tester ses capacités mathématique! Il choisit entre +,-,* ou /. il a 5 chances, si apres 5 fois il ne reussit pas a trouver, le programme lui donne la bonne réponse!
Ensuite, le menu se ré-affiche (cela jusqua ce que l'utilisateur décide de quitter avec 'Q')
mon problème est que si l'utilisateur choisit encore la même opération et que la derniere fois et que cette derniere fois la il avait utiliser les 5 chances...et bien plus rien ne marche :( !
Voila mon C++ :
#include <iostream>
using namespace std;
void main() {
int i, j, k, l, NombreSecret1, NombreSecret2, REP, A;
char CO;
i=0, j=0, k=0, l=0;
do {
cout << "\n =========================== \n";
cout << " TEST DE D'ARITHMETIQUES \n";
cout << " =========================== \n";
cout << " + : Addition\n";
cout << " - : Soustraction\n";
cout << " * : Multiplication\n";
cout << " / : Division\n";
cout << " ? : Aide\n";
cout << " q : Quitter\n";
cout << " =========================== \n";
cout << " Choix = ";
cin >> CO;
NombreSecret1 = rand() % 50 +1;
NombreSecret2 = rand() % 50 +1;
switch (CO) {
case '+' :
cout <<"\n Addition\n";
do{
cout << NombreSecret1;
cout << "+";
cout << NombreSecret2;
cout << "= ";
cin >> REP;
i++;
A = NombreSecret1 + NombreSecret2;
if ((REP!=A) && (i<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (i!=5));
if ((REP!=A) && (i==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '-':
cout <<"\n Soustraction\n";
do{
cout << NombreSecret1;
cout << "-";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
j++;
A = NombreSecret1 - NombreSecret2;
if ((REP!=A) && (j<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (j!=5));
if ((REP!=A) && (j==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '*':
cout <<"\n Multiplication\n";
do{
cout << NombreSecret1;
cout << "*";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
k++;
A = NombreSecret1 * NombreSecret2;
if ((REP!=A) && (k<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (k!=5));
if ((REP!=A) && (k==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '/':
cout <<"\n Division\n";
do{
cout << NombreSecret1;
cout << "/";
cout << NombreSecret2;
cout <<"=";
cin >> REP;
l++;
A = NombreSecret1 / NombreSecret2;
if ((REP!=A) && (l<5)) cout <<" Faux! Essayer a nouveau:\n";
if (REP==A) cout <<" Exact!";}
while ((REP!=A) && (l!=5));
if ((REP!=A) && (l==5)) {cout <<" Nombre maximal d erreurs atteint\n la bonne reponse etait:";
cout << A;}
break;
case '?':
cout <<"\n Fonction Aide\n";
cout <<" Ce programme evalue vos capacites de calcul.\n";
cout <<" Vous devez choisir l operation sur laquelle \n vous serez evalue parmi +, - / ou * \n ";
cout <<"Le programme prend au hasard 2 nombres, compose l expression arithmetique \n et demande de donner le resultat.\n";
cout <<" Si le resultat est exact, le programme affiche exact. \n";
cout <<" Dans le cas contraire, le programme donne une autre chance a l utilisateur \n de trouver le resultat.\n";
cout <<" Si l utilisateur se trompe 5 fois, \n";
cout <<" le programme affiche le resultat et affiche de nouveau le menu principal.\n";
break;
case 'q':
cout <<"Aurevoir!\n";
break;
case 'Q':
cout <<"Aurevoir!\n";
break;
default:
cout <<"\nEntrer invalide\n";
break;
}
}
while ((CO!='Q') && (CO!='q'));
}
A voir également:
- Nombre maximal d'essaie (C++)
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Afficher le 0 devant un nombre dans excel - Guide