Probleem met C-probeersel
21 april 2006 - 21:25   
geplaatst door: Mac OS X
Ik heb een probleem met C. Ik wil gebruikmaken van de switch()-functie.

Dit is dus de betreffende code. De variabele geheelGetal is een getal tussen 0 en 100.

switch(geheelGetal)
{
case >= 90 && <= 100: a();
break;
}

Dit is dus de bedoeling in mensentaal:

Kijk het getal geheelGetal na. Indien geheelGetal groter of gelijk is aan 90 én kleiner of gelijk aan 100 is, voer dan de functie a() uit (die met behulp van printf() een stuk tekst weergeeft). De compiler geeft echter deze error:

"/Users/... main.m:23: error: parse error before '<=' token"

Wie kent de oplossing voor dit (wellicht eenvoudig op te lossen) probleem?

Probleem met C-probeersel
21 april 2006 - 21:34    reactie #1
geplaatst door: AlexdePalex
Hier kan je een switch niet voor gebruiken. De expressie in het switch statement wordt uitgevoerd en vergeleken tussen de verschillende (constante) waarden. Wat jij wilt, kan je het beste oplossen met een if statement:

if ( ( geheelGetal >=90 ) && ( geheelGetal <= 100 ) )
  a();

(Bewerkt door AlexdePalex om 21:35, 21-04-2006)

Probleem met C-probeersel
21 april 2006 - 21:40    reactie #2
geplaatst door: Mac OS X
Jammer... Vijf extra regels code dan maar :).
Probleem met C-probeersel
21 april 2006 - 22:16    reactie #3
geplaatst door: YoRabbit
of iets als:

switch (geheelGetal/10) {
 case   9:
 case 10: a(); break;
}

afgezien van randvoorwaarden, maar gezien je kennelijk meer wilt dan je eigenlijk schrijft [vijf regels extra code...] is dit misschien een richting om in te denken   :biggrin:

(Bewerkt door YoRabbit om 22:18, 21-04-2006)

Web designer & developer; iOS App developer