Programiranje u C-u

                  DONOŠENJE ODLUKA

SELEKCIJA (IF NAREDBA)
 if naredba omogućava grananje (donošenje odluka) ovisno o vrijednosti ili stanju varijabli. To omogućava da se naredbe izvrše ili preskoče, ovisno o odluci. Osnovni format je,

        if( izraz )

                programske naredbe;
Primjer;
        if( studenti < 65 )

                ++student_count;
U gornjem primjeru, varijabla student_count se inkrementira samo ako je vrijednost varijable  studenti manja od 65.

Slijedeći  program koristi if naredbu da ocijeni je li korisnikov upisani broj između 1 i 10.

        #include <stdio.h>

        main()
        {
                int number;
                int valid = 0;

                while( valid == 0 ) {
                        printf("Unesite broj između 1 i 10 -->");
                        scanf("%d", &number);
                        /* pretpostavka da je broj valjan */
                        valid = 1;
                        if( number < 1 ) {
                                printf("Broj je manji od 1. Unesite ponovno\n");
                                valid = 0;
                        }
                        if( number > 10 ) {
                                printf("Broj je veći od  10. Unesite ponovno\n");
                                valid = 0;
                        }
                }

                printf("Broj je %d\n", number );

        }





        Ispis programa

        Unesite broj između 1 i 10 --> -78

        Broj je manji od 1. Unesite ponovno

        Unesite broj između 1 i 10 --> 4

        Broj je 4

VJEŽBA C10
Napišite C program koji omogućava korisniku da upiše  5 ocjena između  0 i 100. Program mora izračunati prosječnu ocjenu  i označiti koliko je ocjena manje od  65.

Rješenje


Pogledajmo slijedeći program koji utvrđuje je li znak unesen s tipkovnice u rasponu od A do Z.

        #include <stdio.h>

        main()
        {
                char letter;
                printf("Unesite znak-->");
                scanf(" %c", &letter );

                if( letter >= 'A' ) {
                        if( letter <= 'Z' )
                                printf("Znak je između A i Z\n");
                }
        }





        Ispis programa

        Unesite znak --> C

        Znak je između  A i Z
Program ne ispisuje ništa ako znak nije između A i Z. O ovomu ćemo govoriti na slijedećim stranicama kada budemo razmatrali if else naredbu.
Molimo zapamtite korištenje preznog mjesta u izrazu (ispred %c)
        scanf(" %c", &letter );
Ovo omogućava preskakanje TABULATORA, razmaka i  ENTER tipke. Ako se ne koristi vodeće prazno mjesto, koristio bi se prvi unešeni znak, i scanf ne bi ignorirala navedene znakove.

USPOREDBA  JEDNAKOSTI  float  tipova
Zbog načina na koji se pohranjuju float tipovi, vrlo je teško usporediti jesu li jednaki. Stoga to izbjegavajte činiti, jer možete dobiti nepredviđene rezultate.


©Copyright B Brown. 1984-1998. All rights reserved.