In diesem C++ Webartikel geht es um die switch-Anweisung und davor wird noch der letzte Code etwas optimiert…
Das C++ Erdkunde Quiz:
Mit dem letzten Code hatten wir sogar schon ein kleines Erdkunde Quiz programmiert. Es gab aber noch einen kleinen Schönheitsfehler. Die Eingabe wurde wirklich nur dann als richtig gewertet, wenn sie exakt der festgeschriebenen Lösung entsprach. Das Programm akzeptierte es natürlich nicht, wenn statt “Berlin“ durch den Benutzer “berlin“ eingegeben wurde. Mit dem Vergleichsoperator “OR“ wird das nun nachgebessert.
#include <iostream>
int main()
{
std::string stadt;
std::cout << "Bitte geben Sie die Haupstadt von Deutschland ein: ";
std::cin >> stadt;
if(stadt == "Berlin", "berlin", "BERLIN"){
std::cout << "Sie haben die richtige Hauptstadt von Deutschland eingegeben\n";
}
else {
std::cout << "Leider haben Sie nicht die richtige Hauptstadt von Deutschland eingegeben\n";
}
}
C++ und die switch-Anweisung:
C++ und die switch-Anweisung:
#include <iostream>
using namespace std;
int main(){
int auswahl;
cout << "Wählen Sie Ihre Lieblingsleckerei:\n"
"1 - Käsesahnetorte\n"
"2 - Streuselkuchen\n"
"3 - Windbeutel\n";
cin >> auswahl;
switch(auswahl){
case 1: cout << "Sie mögen Käsesahnetorte";
case 2: cout << "Sie mögen Streuselkuchen.";
case 3: cout << "Sie mögen Windbeutel.";
default: cout << "Wollen Sie wirklich behaupten, dass Ihnen nichts davon zusagt?";
}
return 0;
}
Dieses Programm macht noch nicht ganz das was es machen soll. Die switch-Anweisung gibt fehlerhafte Antworten aus, denn es werden immer alle “case-Ausgaben“ nach der Benutzereingabe ausgeworfen. Es fehlen noch “breaks“.
#include <iostream>
using namespace std;
int main(){
int auswahl;
cout << "Wählen Sie Ihre Lieblingsleckerei:\n"
"1 - Käsesahnetorte\n"
"2 - Streuselkuchen\n"
"3 - Windbeutel\n";
cin >> auswahl;
switch(auswahl){
case 1: cout << "Sie mögen Käsesahnetorte";
break;
case 2: cout << "Sie mögen Streuselkuchen.";
break;
case 3: cout << "Sie mögen Windbeutel.";
break;
default: cout << "Wollen Sie wirklich behaupten, dass Ihnen nichts davon zusagt?";
}
return 0;
}
Um das Programm noch besser zu machen, könnten Zeilenumbrüche eingebaut werden…
case 1: cout << "Sie mögen Käsesahnetorte\n";
break;
case 2: cout << "Sie mögen Streuselkuchen.\n";
break;
case 3: cout << "Sie mögen Windbeutel.\n";
break;
default: cout << "Wollen Sie wirklich behaupten, dass Ihnen nichts davon zusagt?\n";