Pa uporabom petlji. Očito jeDa demonstriram jedan primjer:
Dakle, sve ovo od upisivanja brojeva do ispisivanja rezultata potrpaš u jednu petlju, tako da se to nanovo izvrši. A ako je a ili b jednako nuli (to provjerava ovaj if nakon upisa brojeva), break naredba izbacuje iz petlje, i izvršava se ono što slijedi poslije, a to je kraj programa i izlaz. Ne znam zašto si stavio da ti se samo ispis vrti u petlji, možda nisi skužio zadatak. Uglavnom, nije komplicirano, ne?Code:#include <stdio.h> #include <stdlib.h> int main() { int a, b; do { printf("Upisi prvi broj: "); scanf("%d", &a); printf("Upisi drugi broj: "); scanf("%d", &b); if (a == 0 || b == 0) break; printf("\nRezultat je: %d\n", a + b); } while (1); system("pause"); return EXIT_SUCCESS; }
Ovo se inače moglo izvršiti na nekoliko načina. Recimo, ja sam sad u uvjet do-while petlje stavio 1, a to sam možda i objasnio prije - logički uvjeti u C-u funkcioniraju tako da 1 ili bilo koji drugi broj osim nule znači "da", odnosno "true", dok je nula logičko "ne", ili false. Kada stavimo npr. a == 0 u uvjet, ako a jeste jednako nula, taj izraz će imati vrijednost jedan, tako da će automatski vrijednost u uvjetu postati jedan. Sad kad sam stavio baš broj jedan u petlju, to znači da ja želim da se ona vrti beskonačno, a da ju može prekinuti samo break naredba koja će se aktivirati ako je a ili b jednako nuli (ona if naredba).
To isto se moglo postići na više različitih načina, recimo, mogli smo napraviti jednu kontrolnu varijablu t koju bismo u početku stavili da je 1, a ako bi onaj if koji provjerava je li bar jedan od brojeva 0, onda bi ju on postavio na 0, a uvjet u petlji bi bio:
while(t!=0), što bi značilo da bi nam se petlja nastavila vrtjeti sve dok ne dođe do nule. Jedino što bi tako u ovom slučaju ispisalo i rezultat prije izlaska, a to možda ne želimo. Također, mogla je to biti obična while petlja, samo što bi i onda trebalo paziti na neke logičke probleme.





Odgovori uz citat