C++ , problem

simyamsmasters Messages postés 48 Statut Membre -  
Char Snipeur Messages postés 10112 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.
--
La grace est trompeuse et la beaute est vaine

2 réponses

  1. 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
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    ça doit être une erreur de tampon cin...
    fait une sorti de option pour vérifier sa valeur.
    0