Das Länderquiz bekommt jetzt eine Version 4 und die nutzt if-else Anweisungen…


Die Ausgangslage:

#include <iostream>
int main()
{
std::string antwort01;
std::string antwort02;
std::string antwort03;

std::cout << "Was ist die Hauptstadt von Deutschland?\n";
std::cin >> antwort01;

if(antwort01 == "Berlin"){
std::cout << "Richtig. Was ist die Haupstadt von Frankreich?\n";
std::cin >> antwort02;
}
else
{
std::cout << "Leider falsch.";
} 

if(antwort02 == "Paris"){
std::cout << "Richtig. Was ist die Haupstadt von Spanien?\n";
std::cin >> antwort03;
}
else
{
std::cout << "Leider falsch.";
} 

if(antwort03 == "Madrid"){
std::cout << "Richtig. Du hast das vierte Länderquiz erfolgreich abgeschlossen.\n";
}
else
{
std::cout << "Leider falsch.";
} 


return 0;
}

Was macht der Quellcode eigentlich?

Wenn alle Benutzereingaben richtig waren, dann läuft dieser Code sehr sauber durch und es sind keine Fehler zu erkennen.

Wenn die Benutzereingabe aber falsch war, dann wird der else-Zweig dreimal ausgegeben.

Die erste Anpassung besteht nun darin dem else-Zweig einen Zeilenumbruch zuzufügen. Um bei einer Falscheingabe das Programm zu beenden wird einfach eine return-Anweisung im else-Zweig zugefügt. In der letzten if-else-Anweisung verzichte ich im else-Zweig auf ein “return“, denn dann wird das Programm ja automatisch beendet.

Quellcode für Länderquiz Version 4:

#include <iostream>
int main()
{
std::string antwort01;
std::string antwort02;
std::string antwort03;

std::cout << "Was ist die Hauptstadt von Deutschland?\n";
std::cin >> antwort01;

if(antwort01 == "Berlin"){
std::cout << "Richtig. Was ist die Haupstadt von Frankreich?\n";
std::cin >> antwort02;
}
else
{
std::cout << "Leider falsch.\n";
return 0;
} 

if(antwort02 == "Paris"){
std::cout << "Richtig. Was ist die Haupstadt von Spanien?\n";
std::cin >> antwort03;
}
else
{
std::cout << "Leider falsch.\n";
return 0;
} 

if(antwort03 == "Madrid"){
std::cout << "Richtig. Du hast das vierte Länderquiz erfolgreich abgeschlossen.\n";
}
else
{
std::cout << "Leider falsch.\n";
}
return 0;
}

Von Torsten