Programiranje u C-u

  

LOGIČKI OPERATORI U SLOŽENIM RELACIJAMA ( AND, NOT, OR, EOR )

Provjeravanje raspona korištenjem logičkih operatora
Razmatrat ćemo slučaj kada korisnik upisuje neku vrijednost, a onda se provjerava pripada li ona zadanom rasponu,  npr. između  1 i 100.
        #include <stdio.h>

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

                while( valid == 0 ) {
                        printf("Unesite broj između 1 i 100");
                        scanf("%d", &number );
                        if( (number < 1) || (number > 100) )
                                printf("Broj je izvan zadanog raspona\n");
                        else
                                valid = 1;
                }
                printf("Broj je %d\n", number );
        }





        Ispis programa

        Unesite broj između 1 i 100

        203

        Broj je izvan zadanog raspona

        Unesite broj između 1 i 100

        -2

        Broj je izvan zadanog raspona

        Unesite broj između 1 i 100

        37

        Broj je 37
Program koristi varijablu valid kao zastavicu koja označava je li uneseni podatak unutar dozvoljenog raspona vrijednosti. While petlja se vrši sve dok je valid jednak 0.

Izraz

        if( (number < 1) || (number > 100) )
provjerava je li korisnikov upis unutar granica zadanog raspona, a ako jest, postavlja valid na 1, omogućavajući izlaz iz petlje.

Sada pogledajmo program koji provjerava je li znak kojeg upisuje korisnik između  A-Z, drugim riječima alfabetski.

        #include <stdio.h>

        main()
        {
                char ch;
                int valid = 0;

                while( valid == 0 ) {
                        printf("Unesite znak A-Z");
                        scanf(" %c", &ch );
                        if( (ch >= 'A') && (ch <= 'Z') )
                                valid = 1;
                        else
                                printf("Znak je izvan dozvoljenog raspona\n");
                }
                printf("Znak je %c\n", ch );
        }





        Ispis programa

        Unesite znak  A-Z

        a

        Znak je izvan dozvoljenog raspona

        Unesite znak A-Z

        0

        Znak je izvan dozvoljenog raspona

        Unesite znak A-Z

        R

        Znak je  R
U ovom slučaju, logičko I koristimo jer želimo ocijeniti je li znak unutar raspona, tj. sve vrijednosti između donje i gornje granice. U prethodnom slučaju, koristili smo logičko ILI jer smo željeli provjeriti je li unos iznad gornje granice ili ispod donje granice raspona.

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