Konsolen Menü



  • Hey zusammen,

    hab leider nichts passendes über die SuFu gefunden.

    ich hab in einem Programm mehrere Funktionen eingebaut (GPS Programm mit diversen Ausgaben, z.B. Höchstgeschwindigkeit, Gefahrene Strecke, etc.)

    Um das Programm "schöner" zu machen, will ich ein Menü vorschalten, das den Benutzer über ein "cin >>" in der Konsole fragt, was er errechnet haben will.

    Was ich bisher rausfinden konnte, ist, dass ich die verschieden "verlinkten" Rechnungen über "cases" definieren muss, nur wie ich das mach ist mir unklar.

    Ich hoff die frage ist jetzt nicht zu stumpfsinnig oder zu einfach 😉

    Danke schonmal

    Grüße

    m00gle



  • Damit ist wohl eine Kontrollstruktur in C++ gemeint: switch . Dabei kann ein Wert auf mehrere integrale Konstanten überprüft werden, und das sehr performant.

    int Var = /* irgendetwas */;
    switch (Var)
    {
        case 2:    // falls Var 2 ist
            DoSomething();
        case 3:    // falls Var 2 oder 3 ist (obere Bedingung wird mitberücksichtigt)
            DoSomethingElse();
            break; // beendet die Anweisungen, ansonsten ginge es bei 4 weiter
        case 4:    // falls Var 4 ist
            DoAnotherThing();
            break;
        default:    // sonst, falls Var weder 2, 3 noch 4 ist
            DoNothing();
            break;
    }
    

    Eventuell solltest du in einem Grundlagenbuch noch mehr darüber nachlesen (auch was Ein-, Ausgabe betrifft).



  • Cool danke schonmal,

    aber dort wo du jetzt "dosomething" stehn hast, da muss ich jetzt die gesamte formel zur errechnung von case 2 reinschreiben? oder nur ein cout?

    greetz



  • m00gle schrieb:

    Cool danke schonmal,

    aber dort wo du jetzt "dosomething" stehn hast, da muss ich jetzt die gesamte formel zur errechnung von case 2 reinschreiben? oder nur ein cout?

    greetz

    Da musst Du Deine unterschiedlichen Funktionen aufrufen.

    m00gle schrieb:

    ch hab in einem Programm mehrere Funktionen eingebaut (GPS Programm mit diversen Ausgaben, z.B. Höchstgeschwindigkeit, Gefahrene Strecke, etc.)



  • Wenn ich das richtig verstanden hab:

    int Wert_1=0;
    cin>>Wert_1;
    
     switch(Wert_1)
    {
     case 1:
     //Wenn Wert_1 = "1" entspricht
     break;
    
     case 5:
     //Wenn Wert_1 = "5" entspricht
     break;
    };
    

    EDIT:
    Mist, Nexus war schneller >_<



  • way schrieb:

    int Wert_1=0;
    cin>>Wert_1;
    

    Wieso =0 , wenn du die Variable in der nächsten Zeile sowieso überschreibst?

    way schrieb:

    //Wenn Wert_1 = "1" entspricht
    

    Das könnte verwirren, da auf den Integer 1 und nicht auf das Zeichenkettenliteral "1" geprüft wird (nur so am Rande).

    way schrieb:

    EDIT:
    Mist, Nexus war schneller >_<

    Ja, und zwar mehr als 10 Minuten. Hattest du wirklich so lange an deinem Post? 😉



  • also vielen dank an alle... das ist genau das was ich gesucht hab....

    grüße

    mirko



  • also vielen dank an alle... das ist genau das was ich gesucht hab....

    grüße

    mirko



  • Ja, und zwar mehr als 10 Minuten. Hattest du wirklich so lange an deinem Post? 😉

    Njoa, hab in der Zwischenzeit meine Bewerbung geschrieben 😃



  • way schrieb:

    Njoa, hab in der Zwischenzeit meine Bewerbung geschrieben 😃

    Hehe, hat mich nur gewundert... Mir passiert es drum auch nicht selten, dass mir jemand zuvorkommt, der die fast gleiche Antwort wie ich parat hat... 🙂



  • Tja, hier im Forum gibt es halt flinke Hände, es seidenn man entdeckt gerade einen neueröffneten Thread auf seinem Streifzug durch die Kategorien...(-;
    Egal, wir meinen ja dasselbe.


Anmelden zum Antworten