Programm überspringt Eingabe

Andre

The Shocker
Tach zusammen,

also ich hab grad mal nen kleines Geldautomat Programm geschrieben und mein Problem dabei ist das er ganze 2 Eingaben überspringt. Hat jemand ne idee wodran das liegt ?

Kurze Info noch dazu. Ich hab bis jetzt nur den Kontostand abgefragt. Also nur ne 2 eingegeben.

Code:
void Prozess_Korrekte_PIN(void)
{
        int iEingabe = 0;
        char cAntwort;
        char cKarteEntnommen;
        do
        {
                printf("\n============================");
                printf("\n\nWas moechten sie machen?\n");
                printf("\n\n1: Geld abheben");
                printf("\n2: Kontostand");
                printf("\nEingabe: ");
                scanf("%i", &iEingabe);
                fflush(stdin);

                if(iEingabe == 1)
                {
                        Geld_Abheben();
                }
                else if(iEingabe == 2)
                {
                        Kontostand_Anzeigen();
                }

                printf("\n\nWeitere Aktionen?(y/n)");
                scanf("%c", &cAntwort);
                fflush(stdin);
                /*system("clear");*/
                printf("test");
        }
        while(cAntwort == 'y');

        do
        {
                printf("\nBitte die Karte entnehmen(y/n)");
                scanf("%c", &cKarteEntnommen);

        }
        while(cKarteEntnommen != 'y');

        printf("\nAuf Wiedersehen\n");
}

void Kontostand_Anzeigen(void)
{
        printf("\n\nIhr Kontostand betraegt: %6.2lf\n", dKontostand);
}

und sobald ich bei der "Eingabe" die 2 eingebe, kommt in einem rutsch das herraus:

Code:
============================

Was moechten sie machen?


1: Geld abheben
2: Kontostand
Eingabe: 2


Ihr Kontostand betraegt: 1000.00




Weitere Aktionen?(y/n)test
Bitte die Karte entnehmen(y/n)
-sh-3.00$ vi Kontostand.c

vielen dank schonmal für die hilfe =)
 
Hi,
danke für die Hilfe =)
Also zum Link hab ich mich nochmal genau im Buch " C von A bis Z" durchgelesen und dort gefunden: "Sie benutzen die Funktion fflush() zum Entleeren des Tastaturpuffers. Möglicherweise gelingt dies nicht auf jedem Betriebssystem (speziell nicht unter Linux)" naja und jetzt hab ich anstelle von fflush(stdin) getchar() benutzt ^^
 
Zurück