#include /* oefening op functies. de waarden worden opgeslagen in 'globale variabelen' zodat ze zowel in de void functie als in de main beschikbaar zijn. nadeel van deze methode is dat globale variabelen blijven bestaan, en dus geheugen innemen zolang het programma draait. */ // globele variabelen : declaratie buten main en functie int nGetal, Aant2=0, Aant3=0, Aant6=0; //protoptype functie void testGetal(); void logo(); void main() { logo(); cout << "Geef een getal tussen 0 en 32.000" << endl << "(of 0 om te stoppen) :\n\n"; do { //input vragen, 0 = stoppen cout << "getal :\t"; cin>> nGetal; //testen testGetal(); } while(nGetal != 0); //output op scherm cout<< endl << endl << Aant2 << " getallen waren deelbaar door 2," < 32000 || nGetal < 0 ) { cout << "dit getal is niet toegelaten \n"; } else { if (nGetal == 0) // toegelaten : stoppen op verzoek van gebruiker { cout << "gestopt op verzoek van gebruiker \n"; } else // dwz. in geval van correcte input en niet stoppen ... /* * TEST op deelbaar door 6, door 3, door 2 * als deelbaar door 6, dan ook deelbaar door 3 en 2 * dus als de eerste test slaagt, moeten de volgende * niet meer uitgevoerd wordezn */ { if (nGetal%6 == 0) { Aant6++; Aant3++; Aant2++; } else // als wel deelbaar door 3 (en niet door 6 - reeds getest) // dan niet deelbaar dor 2, en vice versa. { if (nGetal%3 == 0) { Aant3++; } else { if (nGetal%2 == 0) { Aant2++; } } } } } } /* Dit is een serieuze nest van if en else, * maar uiteindelijk is er telkens maar 1 geval waar; * door iedere if/else te nesten in de vorige worden * overbodige tests vermeden, en da's toch redelijk * efficient, denk ok. */ void logo() { cout << endl <