while-Schleife wird nur einmal "geöffnet" [gelöst]
-
Hallo zusammen.
Als erstes möchte ich mich bei allen im c++ Forum für die hilfreichen Beiträge bedanken, hab dadurch schon so manchen Fehler beheben können.
Nun zu meinem Problem. (Hoffe das ist das richtige Forum)
Ich möchte eine Passwortabfrage programmieren, in der das Passwort nicht sichtbar eingegeben wird, sondern als sternchen und in der man 3 versuche hat
Über _getch()und _putch('*') funktioniert es ja, nur leider immer nur beim ersten Versuch.
Hier der Code:
while (ianzahl<=3) { ceingabe = ' '; ceingabe = _getch(); //Eingabe und "umwandlung" von char nach string while(ceingabe != char(0x0D) && i < 9) { _putch('*'); streingabe += ceingabe; ceingabe = _getch(); } //passwortueberpruefung if (streingabe == strpassw) { ianzahl = 4; cout<<"erfolg"; } else { streingabe= ""; ianzahl++; cout<<endl<<"misserfolg"; } }Im voraus schon einmal danke.
-
Wie initialisierst du
ianzahl?Ist dir klar, dass die Bedingung
i < 9die Schleife nie abbrechen wird, weil i nicht hochgezählt wird? Außerdem wirdivor der Schleife nicht auf 0 gesetzt.
-
ianzahl = 0
upps, da hab ich was übersehen, danke.
i ist garnicht deklariert.
-
daran hats gelegen.
hab einfach
&& i < 9gelöscht
vielen Dank nochmals
und guten Rutschgruß
Tal Ker