7.3.. Napisati program za upis ocjena i ispis uspjeha.

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:

Listing programa:

//07311003
#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 ... 60:
        cout << "Nedovoljan" << endl;
        break;
    case 61 ... 70:
        cout << "Dovoljan" << endl;
        break;
    case 71 ... 80:
        cout << "Dobar" << endl;
        break;
    case 81 ... 90:
        cout << "Vrlodobar" << endl;
        break;
    case 91 ... 100:
        cout << "Odlican" << endl;
        break;
    default:
        cout << "Greska" << endl;
    }
    return 0;
}

II varijanta if else
//07311003
#include <iostream>
using namespace std;

int main()
{
	int bb;
	bool bPRvi, bDrugi, bTreci;
	cout<<"Uspjeh"<<endl;
	cin>>bb;

	if((bb>=0)&&(bb<=60)){bPRvi=true;}
	else if((bb>=61)&&(bb<=70)){bPRvi=false;}
	else goto DRUGI_DIO;
	switch(bPRvi)
	{
		case true: cout<<"Nedovoljan"<<endl; cout<<endl; break;
		case false: cout<<"Dovoljan"<<endl; cout<<endl; break;

	}

	DRUGI_DIO:
	if((bb>=71)&&(bb<=80)){bDrugi=true;}
	else if((bb>=81)&&(bb<=90)){bDrugi=false;}
	else goto TRECI_DIO;
	switch(bDrugi)
	{
		case true: cout<<"Dobar"<<endl; cout<<endl; break;
		case false: cout<<"Vrlodobar"<<endl; cout<<endl; break;

	}

	TRECI_DIO:
	if((bb>=91)&&(bb<=100)){bTreci=true;}
	else bTreci=false;
	switch(bTreci)
	{
		case true: cout<<"Odlican"<<endl; cout<<endl; break;
		case false: break;

	}

    return 0;
}

III varijanta
//07311003
#include <iostream>
using namespace std;

int main()
{
	int bb;
	cout<<"Uspjeh"<<endl;
	cin>>bb;

	if ((bb>=0)&&(bb<=60))
	{cout<<"Nedovoljan"<<endl; cout<<endl;}

	else if ((bb>=61)&&(bb<=70))
	{cout<<"Dovoljan"<<endl; cout<<endl;}

	else if ((bb>=71)&&(bb<=80))
	{cout<<"Dobar"<<endl; cout<<endl;}
	
	else if ((bb>=81)&&(bb<=90))
	{cout<<"Vrlodobar"<<endl; cout<<endl;}
	
	else if ((bb>=91)&&(bb<=100))
	{cout<<"Odlican"<<endl; cout<<endl;}

    return 0;
}

Ispis na ekranu:

Index