Auswahlmenü programmieren in C++?



  • Hallo Zusammen,

    ich hab mich vor kurzem erst angemeldet und bin neu hier im Forum! 😉
    Ich möchte das programmieren mit C++ lernen und würde gerne wissen wie man sowas programmiert? Bisher hatte ich nur ein HelloWorld projekt zum laufen gebracht!

    Wie kann man mit Hilfe von if und else ein kleines Auswahlmenu programmieren, dass es dem User erlaubt, aus 3 verschiedenen Schwierigkeitstufen eines Spiels zu wählen: 1 = Easy, 2 = Normal und 3 = Hard. Das Programm soll zunächst diese Auswahl anzeigen und dann vom Benutzer eine Eingabe erwarten. Falls der User eine der genannten Stufen auswählt, soll eine entsprechende Bestätigung ausgegeben werden. Falls der Benutzer eine andere Eingabe tätigt, soll eine Ausgabe erscheinen, dass seine Eingabe ungültig ist.

    Gruß
    Gustlbert



  • Hi gustlbert,
    wilkommen im Forum!

    Wo liegt denn dein Problem? Hast du schon einen Versuch unternommen? Solltest du nicht einfach in einem Buch lesen, bis du die nötigen Sprachmittel kennst, um dein Programm umzusetzen? Wenn du sie schon kennst, dann musst du ja fast nur noch deine Anforderungsformulierung in Code umsetzen...



  • Du kannst es mit if machen, oder eleganter mit switch!

    Wenn du mehrere Auswahlmöglichkeiten hast, dann zieh immer switch vor!

    int Auswahl=0;
    std::cin>>Auswahl;
    
    switch(Auswahl){
       case1: //Deine Code hier!//break;
       case2: //Dein Code hier!//break;
       case3: //Dein Code hier!//break;
       usw.
       default: //Dein Code hier!//break;
    }
    

    Lies mal was im internet drüber nach, Tuts sind zwar nicht das optimale Lernmittel aber für Grundbegriffe und schnelles Suchen eignet sich google.de sehr gut 😃

    mfg Patrik



  • wxSkip schrieb:

    Solltest du nicht einfach in einem Buch lesen, bis du die nötigen Sprachmittel kennst, um dein Programm umzusetzen? Wenn du sie schon kennst, dann musst du ja fast nur noch deine Anforderungsformulierung in Code umsetzen...

    Sorry, aber bevor du so was komplett nutzloses von dir gibst, poste doch lieber gar nix. Gustlbert ist offenbar kompletter Anfänger - d.h. er braucht ein paar Hilfestellungen, die ihn zumindest zu den nächsten, detaillierteren Fragen führen. So ein Meta-Gesülze bringt ihn da sicher kein bisschen weiter.

    Also: Was du brauchst, ist zum einen eine Möglichkeit, die Benutzereingaben von der Tastatur zu lesen (Stichwort: std::cin <<). Die so gelesene Information kannst du dann in einem Switch verwenden, um deine Aktionen zu starten - wie oben schon mal gezeigt. Und sinnvollerweise solltest du dein Menü vorher natürlich erst mal anzeigen, so dass der Benutzer auch weiß, was er auswählen kann. Ganz wichtig dabei: ungültige Benutzereingaben abfangen!



  • @WaHoooo: Und du findest es sinnvoll, einfach mal so ein Programm schreiben zu wollen, ohne irgendeine Kenntnis der Programmiersprache zu haben? Ich finde on-demand-Lernen am Anfang wenig sinnvoll - man gerät gerade bei C++ doch an viele Hindernisse, die man sonst vielleicht im Voraus hätte umgehen können.

    Und Hilfestellung, die zu einer Frage führt, habe ich doch gegeben: "Lies ein Buch (oder notfalls Tutorial)!" führt zu: Welches Buch/Tutorial? Und diese Fragestellung ist offenbar nicht so ganz unpopulär...



  • So wäre es ganz primitiv (ich würde es ja mit einer GUI machen)

    :#
    #include <iostream>
    
    int main()
    {
          std::cout << "1. Easy \n"
                       "2. Middle \n"
                       "3. Hardcore \n";
    
          enum level_type
          {
                easy,
                middle,
                hardcore
          } LevelT;
    
          char ch(std::cin.get());
          std::cout << "You chose ";
    
          switch(ch)
          {
                case '1':
                      LevelT = easy;
                      std::cout << "easy!\n";
                      break;
                case '2':
                      LevelT = middle;
                      std::cout << "middle!!\n";
                      break;
                case '3':
                      LevelT = hardcore;
                      std::cout << "hardcore!!!\n";
                      break;
                default:
                      std::cerr << "invalid input (" << ch << ")!\n";
                      return -1;
          }
    }
    


  • Vielen Dank!
    Nein so lernt man meiner Meinug nach am meisten, natürlich lese ich nebenbei auch entsprechende literatur! 😉


Anmelden zum Antworten