Direct naar de hoofdinhoud
Module 2 · Les 3 van 36/18 in de cursus~8 min
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:

C++
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

Oefening#cpp.m2.l3.e1
Pogingen: 0Laden…

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.

Editor laden…
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

Oefening#cpp.m2.l3.e2
Pogingen: 0Laden…

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.

Editor laden…
Toon hint

Gebruik voor tekens enkele aanhalingstekens, b.v. `geval 'A':`.

Oplossing beschikbaar na 3 pogingen