
Nachdem wir im letzten Video die Auswahl mittels if & else erklärt haben, geht es dieses mal um eine für manche Fälle komfortablere Lösung. Mehr dazu im folgenden Video:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Waehle einen Modus:\n"
<< "\t1. Singleplayer\n"
<< "\t2. Multiplayer\n"
<< "\t3. Optionen\n"
<< "\t4. Beenden\n"
<< "Auswahl: ";
char auswahl;
cin >> auswahl;
if(auswahl == '1') {
cout << "Singleplayer wird geladen ...";
} else if (auswahl == '2') {
cout << "Multiplayer wird geladen ...";
} else if(auswahl == '3') {
cout << "Optionen werden geladen ...";
} else if(auswahl == '4') {
return 0;
}
cin.sync();
cin.get();
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
cout << "Waehle einen Modus:\n"
<< "\t1. Singleplayer\n"
<< "\t2. Multiplayer\n"
<< "\t3. Optionen\n"
<< "\t4. Beenden\n"
<< "Auswahl: ";
char auswahl;
cin >> auswahl;
switch( auswahl ) {
case '1':
cout << "Singleplayer wird geladen ...";
break;
case '2':
cout << "Multiplayer wird geladen ...";
break;
case '3':
cout << "Optionen werden geladen ...";
break;
case '4':
return 0;
}
cin.sync();
cin.get();
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
cout << "Waehle einen Modus:\n"
<< "\ta. Singleplayer\n"
<< "\tb. Multiplayer\n"
<< "\tc. Optionen\n"
<< "\td. Beenden\n"
<< "Auswahl: ";
char auswahl;
cin >> auswahl;
switch( auswahl ) {
case 's':
case 'S':
cout << "Singleplayer wird geladen ...";
break;
case 'm':
case 'M':
cout << "Multiplayer wird geladen ...";
break;
case 'o':
case 'O':
cout << "Optionen werden geladen ...";
break;
case 'b':
case 'B':
return 0;
}
cin.sync();
cin.get();
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
cout << "Waehle einen Modus:\n"
<< "\ta. Singleplayer\n"
<< "\tb. Multiplayer\n"
<< "\tc. Optionen\n"
<< "\td. Beenden\n"
<< "Auswahl: ";
char auswahl;
cin >> auswahl;
switch( auswahl ) {
case 's':
case 'S':
cout << "Singleplayer wird geladen ...";
break;
case 'm':
case 'M':
cout << "Multiplayer wird geladen ...";
break;
case 'o':
case 'O':
cout << "Optionen werden geladen ...";
break;
case 'b':
case 'B':
return 0;
default: //Falls keiner der Fälle zutrifft
cout << "Ungueltige Eingabe!" << endl
<< "Das Programm wird beendet ...";
break;
}
cin.sync();
cin.get();
return 0;
}
Ich hätte mal eine Frage zum “default” Befehl. Angenommen der Nutzer gibt irgendwas falsches ein, würde dieser Befehl ja greifen. Wie kann ich es aber realisieren, dass das Programm einfach zum Anfang der Eingabe zurückspringt? Weil einfach das Programm beenden ist ja eigentlich keine adäquate Lösung. Oder sollte ich dafür eher eine Schleife verwenden? Oder gibt es für diesen Zweck einen anderen Code? Wenn ja, welchen und wie könnte oder sollte ich ihn aufbauen? Ich hoffe dass du mir da helfen kannst! Ich habe mir bereits das gesamte Videotutorial angeschaut, komme aber einfach auf keine sinnvolle Lösung. Schonmal danke für deine Antwort!
Für diesen Fall könnte man eine Schleife verwenden, in welcher sich die Switch-Anweisung befindet. In der Switch-Anweisung kann man dann den “default”-Fall leer lassen.
Meinst du hier eine “If – Else”-Anweisung, in welcher man eine “Switch-Case”-Anweisung einbettet?
Das kommt natürlich darauf an, in welchem Kontext dieser Code arbeiten soll, aber ich meine (wie ich auch geschrieben habe) eine Schleife.
Danke für die Antwort! Sorry, dass ich kurz auf dem Schlauch stand…