Benötige Hilfe beim erstellen des Programms "Passwortprüfung" (string-Klasse, Funktionen)



  • @Helmut-Jakoby hat doch beschrieben, wie das umzusetzen ist.

    Also nochmal:

    • In main():
      1. Sollpasswort vom Anwender eingeben lassen
      2. pruefePasswort mit diesem Sollpasswort aufrufen und Rückgabewert entgegennehmen
      3. Rückgabewert auswerten und entsprechenden Text ausgeben
    • pruefePasswort mit bool als Rückgabetyp und string als Parameter (für Sollpasswort):
      1. Passwort vom Anwender eingeben lassen
      2. Passwort mit Sollpasswort vergleichen und trueoder false zurückgeben

    Das solltest du jetzt umsetzen können...



  • bool pruefePasswort(string passwort)
    {

    passwort == "hans";
    passwort = true;
    
    if (passwort)
    {
    	cout << "Passwort korrekt" << endl;
    }
    
    else
    {
    	cout << "Falsches Passwort!" << endl;
    }
    

    }

    int main()
    {
    string text;
    bool Richtig;

    cout << "Bitte Passwort eingeben: " << endl;
    cin >> text;
    
    pruefePasswort(text, Richtig);
    
    
    system("Pause");
    return 0;
    

    }

    Sorry aber ich stehe irgendwie auf dem schlauch da der Compiler mir "passwort" in der Funktion und "Richtig" in der main unterstreicht. Wie kann ich denn bool richtig in die funktion integrieren? Und ist es korrekt das Passwort "hans" in der Funktion als richtiges passwort festzulegen?



  • Mit welchem Buch lernst du überhaupt C++?

    Du gibst bisher keinen Wert in der Funktion zurück (und auch der Inhalt ist nicht das, was ich dir beschrieben habe) und der Aufruf ist auch falsch bzgl. des Rückgabewertes.

    Ich hatte neulich schon mal diesen Link in einem anderen Thema gepostet: C++-Programmierung/ Weitere Grundelemente/ Prozeduren und Funktionen, damit du verstehst, wie man Funktionen definiert und aufruft.



  • @Moglie12 sagte in Benötige Hilfe beim erstellen des Programms "Passwortprüfung" (string-Klasse, Funktionen):

     bool pruefePasswort(string passwort)
     {
     	
     	passwort == "hans";
     	passwort = true;
            ...
    
    

    Dir fehlen wichtige Grundlagen in C++, außerdem verstehst Du ganz offensichtlich nicht mal die Aufgabenstellung?!
    Keine Ahnung, wo man da anfangen soll ...



  • Ich habe nie behauptet das ich programmieren kann und deswegen habe ich mich hilfesuchend hier angemeldet.
    Ist es denn nicht möglich die Aufgabenstellung zu lösen oder anhand meines Codes mir mitzuteilen was ich falsch gemacht habe oder was noch ergänzt werden muss?

    Für wen soll es an dieser Stelle Hilfreich sein, mir zu sagen das ich davon keine Ahnung habe? Ich habe ne Prüfung zu bestehen und mache das was mir möglich ist und habe hier auf Hilfe gehofft...



  • @Moglie12
    bitteschön (aber es wird Dir am langen Ende nicht helfen):

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    bool PruefePasswort(const string &Sollpasswort)
    {
       string inPasswort;
       
       getline(cin, inPasswort);
       
       if(Sollpasswort == inPasswort)
          return true;
       else
          return false;   
    }
    
    
    int main()
    {
       const string Sollpasswort("PiPaPo"); // Dies ist das Passwort, das eingegeben werden muss
       
       cout << "Geben Sie das Passwort ein: ";
       
       if(PruefePasswort(Sollpasswort))
          cout << "\nPasswort korrekt";
       else
          cout << "\nPasswort falsch";
    }
    


  • @Belli ! Du kannst einfach andere nicht leiden sehen.



  • @Belli Vielen vielen Dank!
    Anhand des Codes stellen sich mir ein paar Fragen:

    • Zeile 6. Warum &Sollpasswort? Was hat das & zu bedeuten bzw. wieso hast du dieses für die Funktion genutzt?
    • Zeile 10. Was hat der getline Befehl zu bedeuten? Ist das für die Funktion, dass hier eine Eingabe in der main erwartet wird?
    • Zeile 12 Wieso hier der Vergleich? Sollpasswort == inPasswort?
    • Zeile 21 Da legst du quasi das Passwort fest, das vom Nutzer eingegeben werden soll. Frage geht das auch schon in der Funktion?

    Vielen Dank jedenfalls nochmal Belli und auch den anderen die Ihr Glück versucht haben mir zu helfen. Wie gesagt ich habe nie gesagt ich kann Programmieren und für viele unter euch sind solche Aufgaben oder auch die Aufgabenstellungen Täglich Brot. Ich tue mir damit sehr schwer aber was soll ich machen? Die Flinte ins Korn werfen, weil Coden nicht zu meinen Hobbys gehört? Wie gesagt ich habe ne Prüfung zu bestehen und wenn ich verkacke dann ist das eben so aber ich kann nicht sagen ich habe nicht das gegeben was ich konnte.



  • Mensch @Moglie12 🤔
    Such doch mal ein bisschen selbst; gib z.B. mal in Deiner Suchmaschiene "c++ & Parameter" ein. Du kannst Dich dann mal ganz schnell schlau machen, z.B. hier -> https://www.kompf.de/cplus/artikel/funcpar.html

    Und wenn Du Zeile 12 nicht verstehst, dann weiß ich auch nicht... Irgendwo muss doch dass Passwort verglichen werden um den Nutzer sagen zu können, ob richtig oder falsch. Hast Du die Aufgabe eigentlich selbst mal gelesen oder nur gepostet?



  • @Moglie12 sagte in Benötige Hilfe beim erstellen des Programms "Passwortprüfung" (string-Klasse, Funktionen):

    Zeile 10. Was hat der getline Befehl zu bedeuten? Ist das für die Funktion, dass hier eine Eingabe in der main erwartet wird?

    Von Zeile 6 bis 16 wird die Funktion PruefePasswort definiert.
    Demnach wird das getline (wenn du das mal englisch liest, ist schon fast klar, was die macht) auch in der Funktion aufgerufen.

    Zeile 12 Wieso hier der Vergleich? Sollpasswort == inPasswort?

    Weil der Vergleich - laut Aufgabe - in der Funktion passieren soll.


Anmelden zum Antworten