Voici un "schéma" d'un programme que j'ai réalisé, illustrant le problème que je rencontre actuellement.
int main()
{
int i = 5;
int choix;
do
{
cout << "choix : 1,2 ou 3" << endl;
cin >> choix;
cin.ignore();
switch (choix)
{
case 1:
cout << 1 << endl; break;
case 2:
cout << "2" << endl; break;
case 3:
cout << "3" << endl; break;
default:
cout << "Relisez vous !!" << endl;
break;
}
i--;
}while (i > 1);
return 0;
}
Ce que fait ce programme est assez simple :
dans une boucle while ( qui tourne arbitrairement sur 5 itérations, mais cela varie dans le vrai programme), j'ai comme choix de rentrer 1,2 ou 3, auquel cas le programme écrit la valeur rentrée, ou un autre nombre, auquel cas il écrit "relisez-vous". L'intérêt de ce programme est qu'il me permet de faire un choix à chaque itération. Cependant, si jamais, par erreur, je rentre autre chose qu'un nombre, cette entrée erronée ne sera pas prise en compte et toutes les itérations suivantes ne me proposent plus de choix et me marquent uniquement "relisez-vous" 5 fois (je vous conseille de tester pour voir par vous même).
Ce que je voudrait, ce serait un code qui permette d'inclure une erreur de frappe autre qu'un nombre.
J'ai déjà tenté de remplacer les switch par des if sans succès, ainsi que de mettre cin.ignore() sans succès non plus (je doute que cette dernière instruction ai un impacte, mais bon perdu pour perdu ^^).
Je remercie par avance celui qui trouvera la solution
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C