Unerfüllte Bedingung -> nochmals versuchen



  • Hallo Experten,

    ich bin Anfänger und versuche momentan folgendes Skript zu schreiben:

    Der Nutzer wird aufgefordert, die Zahl 3 einzugeben. Der Nutzer gibt nicht die zahl 3 ein. Nun soll er wieder aufgefordert werden, die Zahl 3 einzugeben, bis er sie schließlich eingibt. Das sollte also so etwas sein wie:

    Über 'cout' die Aufforderung, die "3" einzugeben. dann soll eine zahl über 'cin' eingegeben werden. Wenn die if Bedingung nicht erfüllt ist, über 'cout' ausgeben "Das war nicht die Nummer 3" und dann wieder zur ersten if Bedingung springen, ohne wieder eine neue if-Bedingung zu coden. Sonst könnte ich ja 10 mal if Bedingung schreiben, 10 mal falsch eingeben und beim 11 mal endet das Programm...

    Wer kann helfen?

    Vielen dank, Tobias



  • Kennst du schon Schleifen und Boolean?



  • Nein, Schleifen oder Boolean sagen mir leider noch nichts. Wäre das in diesem Fall die Lösung?



  • Für genau diesen Fall gibt es Schleifen. Such in deinem Tutorial/Buch nach diesem Kapitel, oder leg die Idee erst mal auf Eis bis du dich zu diesem Kapitel vorgearbeitet hast. Das was du brauchst wäre wohl eine do-while-Schleife.



  • Alles klar, dann werde ich mich danach mal umschauen. Danke für die Tipps!!!



  • Tobias_85 schrieb:

    Nein, Schleifen oder Boolean sagen mir leider noch nichts. Wäre das in diesem Fall die Lösung?

    Zumindest wäre es die korrekte und saubere Lösung. Da du von springen usw. sprichst, scheint es mir, dass du den Befehl goto kennst?

    In dem Fall wird eventuell eine solche Lösung verlangt.

    START:
    int x;
    std::cin >> x;
    
    if (x != 3)
    {
     goto START;
    }
    

    Ich kanns aber nur wiederholen: Das ist nicht schön!

    Besser wäre es so:

    int x;
    
    do
    {
     std::cin >> x;
    } while (x != 3);
    


  • Tobias_85 schrieb:

    folgendes Skript

    Programm. Scripte werden allgemein interpretiert, C++ ist aber keine Interpretersprache sondern eine Programmiersprache.

    ......... schrieb:

    Da du von springen usw. sprichst, scheint es mir, dass du den Befehl goto kennst?

    Man spricht auch bei Schleifen allgemein davon, dass bei jedem Durhlauf wieder zum Kopf der Schleife gesprungen wird. Setz einem Neuling bloß keinen goto-Floh ins Ohr!
    @Tobias: vergiss goto, schlags garnicht erst nach. in nem Jahr oder so wenn du weißt wies richtig geht, kannst du es dir mal anschauen (kennen schadet nichts, wenn man weiß wo und warum man es nicht anwenden sollte).



  • Hi Pumuckl,

    alles klar, dann für den Tip mit der Ausdrucksweise bzw. goto. Ich hoffe, dass es früher als in einem Jahr sein wird 😃


Log in to reply