Passwort programm help



  • hallo ich wollt mal so zur übung ein programm schreiben das mein passwort abfragt.. und das man nur drei chancen hat um sich mit dem richtigen passwort einzuloggen... bin noch ein anfänger 😞

    jedenfalls bin ich soweit gekommen:

    void main()
    {
      char  pass[5];
      cout << "\t\t\tPasswortabfrage\n";
      cout << "\t\t\t---------------\n\n";
    
      cout << "Bitte Passwort eingeben und dann ENTER druecken:\n\n------------------------\n";
      cout << "\nPasswort    : ";     cin  >> pass;
    
      for (int i=0; i<3; i++)
      {
      	if (!strcmp(pass,"ghare"))
      	{
      		cout << "\n\nPasswort ist richtig, Sie sind nun eingeloggt...\n\n\n";
      	}
    
      	else
      	{
      		cout << "\n\nLeider nicht richtig, probiers nochmal...\n\n\n";
      	}
     }
      getch();
    }
    

    also zuerst ging ja alles perekt... doch dann wollt ich das mit den drei versuchen einbauen.. falls man das passwort falsch eintippt das man noch 2 chancen hat (also max. 3)

    hab dann eine for schleife eingebaut .. doch jez weiss ich nicht mehr weiter 😞
    kann mir bitte wer helfen und sagen was ich falsch mache?
    danke



  • hm...

    also, zuerst mal,
    es heißt

    int main()

    ok, aber das tut jetzt nciht vciel zur sache.
    Überleg dir genau, was dein Programm tut:
    Es lässt dich einmal! dein PW eingeben, und dann testet es dreimal! ob es richtig ist. Du musst dein passwort also 3mal eingeben dürfen, sonst ists ja unfair 🙂
    Also? Überleg:
    pw eingeben -> testen richtig? ja->eingeloggt
    nein->nochmal pw eingeben und von vorne.

    du musst also die Eingabe mit in die schleife nehmen



  • Desweiteren wäre es von vorteil statt:

    char pass [5];
    

    einen größeren String zu benützen, und auch auf die Länge der Eingabe zu prüfen. Sonst stürzt dein Programm ab wenn mehr als 5 Buchstaben eingegeben wurden.

    Schau dir dazu mal cin.getline() an :).

    Wenn du das alles zum Laufen gebracht hast komm nochmal hier her und ich erklär dir den Datentyp std::string

    MfG SideWinder



  • ich hab nur 5 genommen weil mein password nicht länger is... ich muss mich da noch spielen .. aber ich mach jez char [20] sicher is sicher...
    vielen dank noch



  • kyx schrieb:

    aber ich mach jez char [20] sicher is sicher...

    sicher und

    cin  >> pass;
    

    passen nicht zusammen. 🙂
    K.



  • kyx schrieb:

    ich hab nur 5 genommen weil mein password nicht länger is... ich muss mich da noch spielen .. aber ich mach jez char [20] sicher is sicher...
    vielen dank noch

    Warum einfach wenn es auch kompliziert geht, gell 😃

    Nimm std::string und du musst dir um sowas keine Sorgen machen.


Anmelden zum Antworten