Passwortabfrage über String - do while Schleife funktioniert nicht



  • silent_max schrieb:

    Stimmt... cin >> e muss ja dann auch in der do...while Schleife sein...

    Darum geht es jetzt erst mal noch nicht. Eins nach dem anderen. Im Moment geht es erst mal darum, dass es keinen Sinn macht:

    std::string e = "blabla";
    cin >> e;
    

    zu machen.
    Und das ist das, worauf einige andere Dich seit langer Zeit aufmerksam zu machen versuchen:
    Du musst bei jeder Instruktion in Deinem Programm wissen, wozu sie gut ist, und was Du damit beabsichtigst.
    Und da in Deinem Code immer noch ständig solche sinnlosen Dinge stehen, erweckst Du den Eindruck, dass Du nicht willst oder nicht kannst ...



  • Bei jetzt insgesamt ca. 160 geschriebenen Projekten ist es wohl nicht eine Sache des Wollens sondern eine Sache des Nichtkönnens....

    Ich bin echt kurz davor zu kapitulieren...



  • GanzEinfach... schrieb:

    silent_max schrieb:

    Stimmt... cin >> e muss ja dann auch in der do...while Schleife sein...

    Ich glaube der Funken ist mal wieder nicht übergesprungen. 🙄

    Oh ja... (Auch wenn ich's irgendwie lustig finde)
    Die ganze Art und Weise wie silent_max das angeht, ist einfach fundamental falsch. Hab so das Gefühl, er nimmt sich sinnbildlich einen Sack, in der er alle Dinge reintut die er so brauchen kann, und würfelt das dann mehr oder weniger zufällig zu etwas zusammen, was er Programm nennt. Und wenn er meint er hat was vergessen hat, wird das halt nochmal irgendwo zwischen reingeschoben.
    Letzter Schritt ist dann, solange seine Teile hin und her zu schieben, bis es geht, und wenn das nicht klappt fragt er halt nach.

    Du musst Schrittweise und strukturiert rangehen. Und langsam.

    Ich wollte einen Code generieren, mit dem ich ein Passwort abfragen kann.

    Ok, das ist die Aufgabe. Mal ganz ehrlich, wie gehst du so ein Problem an?



  • silent_max schrieb:

    Weil ich es eben einfach so getan habe...

    Du bist ein potentieller Massenmörder.



  • silent_max schrieb:

    Bei jetzt insgesamt ca. 160 geschriebenen Projekten ist es wohl nicht eine Sache des Wollens sondern eine Sache des Nichtkönnens....

    Ich bin echt kurz davor zu kapitulieren...

    Wie schlagen sich die anderen Schüler in Deinem Kurs?

    Und ja, es ist nichts für Dich. Nach ein paar Tagen, vielleicht einer Woche, können totale Anfänger eigentlich schon besser programmieren und verstehen auch was sie da tun.

    Deine Antworten sind oft sehr bezeichnend, z.b. weiter oben als Du angeblich verstanden hast, wie das mit der Variable und der do-while-Schleife funktioniert. Hatte auf mich den Eindruck, als hättest Du dieses Muster (Variable einlesen, dann im Schleifenkopf auf Abbruchbedingung vergleichen) völlig unverstanden in Deinen Werkzeugkasten gepackt um es in Zukunft unreflektiert einzusetzen. Bei kleinen Änderungen an der Aufgabenstellung scheitert dieser Ansatz aber, weil Du den Code nicht entsprechend anpassen kannst.

    Wenn Du wirklich kein Troll bist, tut es mir leid, aber es ist hoffnungslos. Kommst Du nach der Prüfung nochmal mit Programmierung in Berührung?



  • Nein, zumindest habe ich es nicht vor, weiterhin mit der Programmierung zu tun zu haben.

    Die anderen Schüler tun sich da wesentlich einfacher, zu programmieren.



  • Ich habe mir mal die Mühe gemacht dein Programm vollständig zu kommentieren und die Gedanken beschrieben, die du beim verfassen der Zeilen, hättest haben sollen.
    Am besten für dich ist es, dass du in Zukunft ein Kommentar an JEDE Zeile schreibst.
    Lasst dir Zeit bei Kommentar schreiben. Mach dir Gedanken über die Zeile, dass ist der einzige weg es zu lernen.

    #include <iostream> //Ich möchte etwas im Konsolenfenster ausgeben, deswegen binde ich die Bibliothek iostream ein. Mit dieser Bibliothek kann ich die Funktion "cout" benutzen um Text auszugeben.
    #include <string> //Ich möchte die Klasse string verwenden um Texte in meinem Programm zu verarbeiten.
    using namespace std; //Ich möchte nicht jedesmal wenn ich die Funktion cout verwenden ein std:: davor schreiben.
    
    int main() //Das Programm hat einen Anfang, diese Funktion representiert den Anfang.
    {
        string e; //Ich möchte das der Benutzer eine Zeichenkette eingibt, diese soll in e gespeichert werden. Ich habe e als Variabelnamen gewählt, weil es der erste Buchstabe von "Eingabe" ist.
        e = "1306*Vatertag"; //Diese Zeile habe ich einfach so geschrieben, sie hat keine Bedeutung, ich könnte sie genausogut weglassen.
    
        cout << "\n"; //Ich möchte das am Anfang eine Zeile freigelassen wird, ich könnte aber auch die Zeile weglassen.
        cout << "\tPasswortabfrage!\n"; //Ich möchte eine kurze Beschreibung zum Programm machen.
        cout << "\n";//Ich möchte nach der Beschreibung eine Zeile freilassen um die Ausgabe übersichtlicher zu gestalten.
    
        do //Ich möchte eine Programmabschnitt haben der sich wiederholt, wie lange sich dieser Abschnitt wiederholt bestimme ich am Ende dieser Schleife.
        {
            cout << "Wie lautet das Passwort?\n"; //Ich möchte den Benutzer auffordern ein Passwort einzugeben.
            cin  >> e; //Ich möchte die Eingabe des Benutzers in e Abspeichern, damit ich später damit Arbeiten kann.
            if(e=="1306*Vatertag") //Wenn der Benutzer "1306*Vatertag" eingibt, möchte ich eine Ausgabe "Richtig eingegeben" vornehmen.
                cout << "Richtig eingegeben"; //Ausgabe von Richtig eingegeben
            else //Falls der Benutzer irgendetwas anderes als "1306*Vatertag" eingibt, dann möchte ich ihm mitteilen, dass seine Eingabe falsch gewesen ist.
                cout << "Nicht richtig eingegeben!\n"; //Ausgabe von "Nicht richtig eingegeben!\n"
        }while(e!="1306*Vatertag"); //Ich möchte, solange die Passworteingabe falsch ist, eine neue Passworteingabe erfolgt. Dafür prüfe ich ob sich seine Eingabe von dem Passwort unterscheidet.
        return 0; //Das Programm endet hier.
    }
    

    Die Kommentare könnten umfangreicher sein und teilweise sind sie nicht optimal, aber es ist der erste Schritt für dich funktionierenden Code zu schreiben.



  • Das Passwort was hier in den Code-Schnipseln mehrfach gepostet wurde entspricht dem Forum-Login des Threaderstellers.

    Ich habe es nur spaßeshalber mal ausprobiert und konnte meinen Augen nicht glauben. 😮



  • lol? schrieb:

    Das Passwort was hier in den Code-Schnipseln mehrfach gepostet wurde entspricht dem Forum-Login des Threaderstellers.

    Ich habe es nur spaßeshalber mal ausprobiert und konnte meinen Augen nicht glauben. 😮

    LOOOOOL, hab's auch gerade probiert.
    O-M-F-G 😃



  • 😮 😃



  • Das einzig sinnvolle Passwort im Quelltext ist "********"


Anmelden zum Antworten