7.3.. Napisati program za ispis uspjeha, prema slijedeæoj tabeli:

Opis programa: Da bi se mogla koristi naredba CASE vrijednosti moraju biti cjelobrojne.
ibb = (int) (bb + 0.5);
Zato se prosjeku dodaje 0.5 i zatim odbacuju decimalna mjesta.

Opseg Ispis Dodano 0.5 (bb + 0.5) Cio broj sa 0.5 (int) (bb + 0.5);
0 - 1.4 nedovoljan 0.5 - 1.9 0 -1
1.5 - 2.4 dovoljan 2.0 - 2.9 2 - 2
2.5 - 3.4 dobar 3.0 - 3.9 3 - 3
3.5 - 4.4 vrlo dobar 4.0 - 4.9 4 - 4
4.5 - 5.0 odlican 5.0 - 5.0 5 - 5

 

Listing programa:

//07311007
#include <stdio.h>

int main() {
    float bb;
    int ibb;
    printf("Uspjeh: ");
    scanf("%f",&bb);

    ibb = (int) (bb + 0.5);  // dodaj 0.5 i odbaci decimalna mjesta

    switch(ibb) {
    case 0 ... 1:
        printf("Nedovoljan\n");
        break;
    case 2:
        printf("Dovoljan\n");
        break;
    case 3:
        printf("Dobar\n");
        break;
    case 4:
        printf("Vrlodobar\n");
        break;
    case 5:
        printf("Odlican\n");
        break;
    default:
        printf("Nevalidan unos\n");
        break;
    }
    return 0;
}

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

int main(){
    double a;
	printf("Ocjena-Prosjek\nProsjek:\n");
	scanf("%lf",&a);

	if ((a>=0)&&(a<=1.4))
	{
	    printf("Nedovoljan\n");
	    }

	else if ((a>=1.5)&&(a<=2.4))
	{
	    printf("Dovoljan\n");
	    }

	else if ((a>=2.5)&&(a<=3.4))
	{
	    printf("Dobar\n");
	    }

	else if ((a>=3.5)&&(a<=4.4))
	{
	    printf("Vrlodobar\n");
	    }

    else if ((a>=4.5)&&(a<=5))
	{
	    printf("Odlican\n");
	    }
    else{
        printf("Nevalidan unos\n");
    }

	return 0;
}

Ispis na ekranu:

Index