16.1.2012 dvije godine postojanja naših stranica

Programiranje C++‎ > ‎Grananje‎ > ‎

Dvostruko uvjetno grananje


Dvostruko uvjetno grananje omogućava da se ovisno o ispunjenju postavljenog uvjeta izvodi jedan od dva neovisna bloka naredbi.
  • Ako je vrijednost uvjeta logička istina (true, 1), izvodi se prvi blok naredbi. Nakon njegova završetka izvođenje se nastavlja od prve naredbe iza drugog bloka.
  • Ako je vrijednost uvjeta logička neistina (false, 0), preskače se prvi blok i izvodi se drugi blok (iza naredbe else). Nakon njegova završetka izvođenje se nastavlja od prve naredbe iza drugog bloka.
 
 
 
Zadatak:
Treba unijeti realni broj pa provjeriti da li je taj broj veći od ili jednak 0 (>=0). Ako jest, računa se kvadratni korijen tog broja, a ako nije ispisuje se odgovarajuća poruka.
Ispis neka bude oblika:
 
Upisi realni broj:
Kvadratni korijen od ... je ....
ili
Greska. Broj je manji od 0.
 
 
U zadatku je pokazana primjena matematičke funkcije za računanje kvadratnog korijena.
 
Rješenje:
 
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
     float broj,rez;
     cout<<"Upisi broj:";
     cin>>broj;
     if (broj>=0)
     {
          rez=sqrt(broj);
          cout<<"Kvadratni korijen od "<<broj<<" je "<<rez<<endl;    
      }
      else
      {
          cout<<"Greska. Broj je manji od 0"<<endl;
      }
      return 0;
}
 
 Provjera za unos vrijednosti 81.5:
 
Upisi broj: 81.5
Kvadratni korijen od 81.5 je 9.02773.
 
 

 


Uvjetni operator

 

Jednostavni oblici naredbe if-else mogu se zamijeniti uvjetnim operatorom koji se zapisuje znakom upitnik (?).

 

Opći oblik naredbe if-else zapisan  uvjetnim operatorom

(uvjet) ? (naredba 1) : (naredba 2)

 

Ovakav način zapisa rabi se kod postavljanja jednostavnih uvjeta, kada naredba stane u jedan redak.

 

Grananje zapisano naredbom if-else

Grananje zapisano uvjetnim operatorom ?

if (a<0)

      cout<<-a;

else

      cout<<a;

 

 

 

(a<0)?(cout<<-a):(cout<<a);