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 <iostream>
using namespace std;

int main()
{
    cout << "Za ucitani broj bodova ispisati uspjeh" << endl;
    int bb;
    cout << "Osvojeno bodova (0 - 100): ";
    cin >> bb;                              // broj bodova

    switch (bb) {
    case 0 ... 50:
        cout << "nije prosao" << endl;
        break;
    case 51 ... 59:
        cout << "prosao" << endl;
        break;
    case 60 ... 79:
        cout << "prosjek" << endl;
        break;
    case 80 ... 100:
        cout << "super" << endl;
        break;
    default:
        cout << "Greska" << endl;
    }
    return 0;
}
      
//07311011
#include <iostream>
using namespace std;

int main()
{
	int BR;
	bool bPRvi, bDrugi;
	cin>>BR;

	if((BR>=0)&&(BR<=50)){bPRvi=true;}
	else if((BR>=51)&&(BR<=59)){bPRvi=false;}
	else goto DRUGI_DIO;
	switch(bPRvi)
	{
		case true: cout<<"nije prosao"<<endl; cout<<endl; system("PAUSE"); return 0;
		case false: cout<<"prosao"<<endl; cout<<endl; system("PAUSE"); return 0;

	}

	DRUGI_DIO:
	if((BR>=60)&&(BR<=79)){bDrugi=true;}
	else if((BR>=80)&&(BR<=100)){bDrugi=false;}
	else goto TRECI_DIO;
	switch(bDrugi)
	{
		case true: cout<<"prosjek"<<endl; cout<<endl; system("PAUSE"); return 0;
		case false: cout<<"super"<<endl; cout<<endl; system("PAUSE"); return 0;
	}

	TRECI_DIO:
	cout<<"greska"<<endl; cout<<endl;

    return 0;
}

II Varijanta
//07311011
#include <iostream>
using namespace std;

int main()
{
	int BR;
	cin>>BR;
	
	if ((BR>=0)&&(BR<=50))
	{cout<<"nije prosao"<<endl; cout<<endl;}

	else if ((BR>=51)&&(BR<=59))
	{cout<<"prosao"<<endl; cout<<endl;}

	else if ((BR>=60)&&(BR<=79))
	{cout<<"prosjek"<<endl; cout<<endl;}

	else if((BR>=80)&&(BR<=100))
	{cout<<"super"<<endl; cout<<endl;}
	
	else
	{cout<<"greska"<<endl; cout<<endl;}

    return 0;
}

Ispis na ekranu:

Index