C++ , problem

simyamsmasters Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J ai un problem et j aimerais bien de l aide. j ai une petite boucle dont que lorsque j entre des lettres elle me signale des erreurs mais (resultat attendu) mais la deuxieme fois apres avoir entrer un chffre elle me signe une erreur lorsque j entre de nouveau des lettres

Code source


do
{
Eingabe: cout << "\n Was wollen Sie? \n" << endl;
cout << "Neue Geldausgabe" <<" Option 1" << endl;
cout << "Ausgabesumme eines Monats" <<" Option 2" << endl;
cout << "Haeufigkeitsverteilung" << " Option 3" <<endl;
cout << "Beenden"<< " Option 4\n\n>>";

cin >> option ;
if(cin.fail())
{
cin.clear();
cin.ignore(10,'\n');
}

switch(option)
{
case 1: Haushaltsverwaltung::add_obj();
break;

case 2: cout <<"\n" << Haushaltsverwaltung::suchen_Summe() << "\n";
break;

case 3: cin >> graphik;
break;

case 4: break;

default: cout << "\n******************FALSCHE EINGABE********************\n" << endl;
goto Eingabe;
}
}while(option!=4);

Je ne sais pas si c est parceque ma condition pour verifier l entrer est fausse si oui s il vous plait j attend vos remarques.

2 réponses

tsou
 
//Code source

#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[])
{
int Option;

do
{
cout << "\n Was wollen Sie? \n" << endl;
cout << "Neue Geldausgabe" <<" Option 1" << endl;
cout << "Ausgabesumme eines Monats" <<" Option 2" << endl;
cout << "Haeufigkeitsverteilung" << " Option 3" <<endl;
cout << "Beenden"<< " Option 4\n\n>>";

cin >> option ;
if(cin.fail())
{
cin.clear();
cin.ignore(10,'\n');
}

switch(option)
{
case 1: Haushaltsverwaltung::add_obj();
break;

case 2: cout <<"\n" << Haushaltsverwaltung::suchen_Summe() << "\n";
break;

case 3: cin >> graphik;
break;

default: cout << "\n******************FALSCHE EINGABE********************\n" << endl;

}
}while(option!=4);

} // end main
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ça doit être une erreur de tampon cin...
fait une sorti de option pour vérifier sa valeur.
0