7.3.. Napisati program za ispis uspjeha a za ostale vrijednosti ispisati greska. Vidi slijedeću tabelu:

Opis rješenja: Opseg /RANGE/ u SWITCH/CASE neredbi nije satatavni dio standradna C/C** nego njegovo proširenje (GNU C kompajlera).
Opseg vrijednosti u nizu se navodi kao dio jedne labele po santaksi:
case low ... high // sa obaveznim razmakom između vrijednosti i ... ! inače kompajler javlja grešku.
// Ispiravno - case 1 ... 5:
// Pogrešno - case 1...5:
Ovaj primjer prikazuje i mogučnost ispisa greške za slučaj da se sa tasture upiše vrijednost različita od predviđenih SWITCH naredbom (ELSE).

Listing programa:

//07311011
#include <stdio.h>

int main() {
    int bodovi;

    printf("Bodovi (0 - 100): ");
    scanf("%d",&bodovi);

    switch (bodovi) {
    case 0 ... 50:
        printf("Nije prosao\n");
        break;
    case 51 ... 59:
        printf("Prosao\n");
        break;
    case 60 ... 79:
        printf("Prosjek\n");
        break;
    case 80 ... 100:
        printf("Super\n");
        break;
    default:
        printf("Greska");
    }
    return 0;
}

II varijanta sa if-else
//07311011
#include <stdio.h>

int main() {
    int bodovi;

    printf("Bodovi: ");
    scanf("%d",&bodovi);

    if((bodovi > 0) && (bodovi <= 50)){
        printf("Nije prosao");
    }
    else if((bodovi > 50) && (bodovi <= 59)) {
        printf("Prosao");
    }
    else if((bodovi > 59) && (bodovi <= 79)) {
        printf("Prosjek");
    }
    else if((bodovi > 79) && (bodovi <= 100)) {
        printf("Super");
    }
    else {
        printf("Greska");
    }
    return 0;
}

Ispis na ekranu:

Index