Jump to content

C++ switch instructie


Mania-92

Recommended Posts

Switch instructie

In deze tutorial ga ik jullie leren de switch instructie te gebruiken ipv de if-else-ladder.

"De instructie switch is een meervoudige aftakking met dezelfde functionaliteit als een if-else-ladder, maar in een veel handigere vorm."

In de switch instructie vergelijk je de waarden met de uitdrukking, in principe ben je hierbij beperkt tot de gegevenstype byte, char, short en int. Of een ander type dat gemakkelijk omgevormd kan worden naar een int.

De uitdrukking wordt geëvalueerd en vergeleken met de case-clausule, als de waarde gelijk is aan de uitdrukking worden de instructies uitgevoerd. Met de instructie break stop je de instructie.

De default-clausule lijkt een beetje op de else instructie, als een van de waarden niet gelijk is aan de uitdrukking worden de instructies in de default-clausule uitgevoerd.

Ik zal dat laten zien in een voorbeeldje met uitleg. Wat ik in mijn vorige tut al behandeld heb krijgt hierbij geen uitleg.

#include <iostream>
using namespace std;

int main()
{
int temperatuur = 24;

switch (temperatuur)
{
	case 15:
		cout << "Het is 15 graden" << endl;
		break;
	case 16:
		cout << "Het is 16 graden" << endl;
		break;
	case 17:
		cout << "Het is 17 graden" << endl;
		break;
	case 18:
		cout << "Het is 18 graden" << endl;
		break;
	case 19:
		cout << "Het is 19 graden" << endl;
		break;
	case 20: 
	case 21:
	case 22:
	case 23:
	case 24:
	case 25:
		cout << "Het is tussen de 20 en 25 graden" << endl;
		break;
	default:
		cout << "Het is kouder als 15 graden of warmer als 25 graden" << endl;
}

cin.get();
return 0;
}

	switch (temperatuur)

Hier zie je dat ik de uitdrukking temperatuur gebruik, temperatuur is in dit geval een int met de waarde 24.

	{

De switch instructie wordt altijd geopend met een accolade.

		case 15:
		cout << "Het is 15 graden" << endl;
		break;

Hierbij wordt vergeleken of de waarde 15 hetzelfde is als dit het geval is wordt de instructie gestart. Met break; wordt de instructie weer gestopt.

case kun je dus vergelijken met if.

		case 20: 
	case 21:
	case 22:
	case 23:
	case 24:
	case 25:
		cout << "Het is tussen de 20 en 25 graden" << endl;
		break;

Als een case clausule dus niet met break; eindig gaat de instructie gewoon door in de volgende clausule. Dit is soms precies wat je nodig hebt.

Hier wordt dus gekeken of de temperatuur 20, 21, 22, 23, 24 of 25 graden is, is dit het geval dan wordt de instructie uitgevoerd.

		default:
		cout << "Het is kouder als 15 graden of warmer als 25 graden" << endl;

Hier wordt de default-clausule aan het werk gezet, als de uitdrukking niet gelijk is aan een van de waarde in de case-clausule. Als dit dus niet het geval is dan wordt de instructie in de default-clausule uitgevoerd.

default kun je dus vergelijken met else.

	}

En omdat we de switch instructie geopend hebben met een accolade sluiten we hem er ook weer netjes mee.

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...