#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.