Modulelessen (3/3)
De schakelverklaring
Met de instructie switch kunnen lange reeksen if-else if-else instructies worden vervangen bij het vergelijken van een variabele met meerdere constante waarden.
De syntaxis switch
De instructie switch vergelijkt een expressie met meerdere case labels:
char grade = 'B';
switch (grade) {
case 'A':
std::cout << "Excellent!" << std::endl;
break;
case 'B':
std::cout << "Very well!" << std::endl;
break;
case 'C':
std::cout << "Sufficient." << std::endl;
break;
default:
std::cout << "Invalid grade." << std::endl;
break;
}break: is van fundamenteel belang. Als dit wordt weggelaten, zal de uitvoering doorgaan naar de volgende gevallen (een gedrag dat bekend staat als fall-through).default: een optioneel blok dat wordt uitgevoerd als geen van de voorgaande gevallen overeenkomt met de geteste waarde.
Probeer het zelf
Gegeven een gehele dag gelezen uit std::cin, gebruik dan switch om 'lunedi' af te drukken als de dag 1 is, 'martedi' als deze 2 is, en 'altro' voor elke andere waarde.
Toon hint
Structureer de switch op `day`door`case 1:`, `case 2:`en`default:`in te voegen, waarbij u de`break`-instructie aan het einde van elke vertakking onthoudt.
Oplossing beschikbaar na 3 pogingen
Gegeven een variabel cijfer gelezen uit std::cin, gebruik dan een schakelaar om 'ottimo' af te drukken voor 'A', 'buono' voor 'B' en 'insufficiente' voor alle andere gevallen.
Toon hint
Gebruik voor tekens enkele aanhalingstekens, b.v. `geval 'A':`.
Oplossing beschikbaar na 3 pogingen