if - else

Schema logica instructiunea if

  Instrucțiunea if este o structură alternativă simplă care evaluează o condiție și în cazul în care este adevărată, execută blocul de instrucțiuni din interior; în caz contrar acesta trece pe ramura else, dacă există, sau iese din structură.

Sintaxă

if( <conditie> ){
  <...
  instructiuni
  ...>
}
else {
  <instructiuni>
}

Implementarea if

Enunț: Se citește un număr întreg. Stabiliți dacă este un număr impar.

int x;
cin>>x;
if(x%2)
  cout<<"Numar impar";
7
Numar impar
124

  Precedată de parantezele rotunde, am scris condiția x%2, care în urma evaluării va fi 1 (true) dacă numărul este impar, iar 0 (false) dacă este par (cu toate că expresia nu am egalat-o cu nimic, compilatorul „își pune singur” construcția !=0,astfel că orice valoare nenulă a expresiei din față va returna 1). În cazul afirmativ, se va afișa mesajul, altfel nu se va întâmpla nimic, se trece mai departe.

Implementarea if - else

Enunț: Se citește un caracter. Să se determine dacă acesta este o cifră, sau un alt caracter.

char x;
cin>>x;
if(x>=48 && x<=57)
  cout<<"Cifra";
else
  cout<<"Alt caracter";
7
Cifra
N
Alt caracter

  Condiția verifică dacă un caracter memorat în x este o cifră, sau un alt caracter (acest lucru este posibil cu codul ASCII; pentru valorile memorate de o variabilă char, vezi tipurile de date, sau șirurile de caractere).
  În cazul în care codul ASCII al caracterului este între 48 și 57, condiția este adevărată și se execută instrucțiunea din if, urmând să treacă peste else (dacă se execută instrucțiunile din if, programul va ignora toate ramurile else). Dacă acea conidție nu este îndeplinită, se vor executa automat instrucțiunile din else.

Implementarea if - else if - else

Enunț: Se citește un număr întreg. Stabiliți semnul acestuia.

int x;
cin>>x;
if(x<0)
  cout<<"Numar negativ";
else
    if(x>0)
      cout<<"Numar pozitiv";
    else
      cout<<"Numarul este egal cu 0";
-49
Numar negativ
0
Numarul este egal cu 0

  În unele cazuri va trebui să particularizăm executarea unor instrucțiuni în funcție de mai multe criterii. În loc să folosim mai multe instrucțiuni if care vor evalua fiecare condiția lor (chiar dacă a fost executat cazul favorabil deja), folosim construcțiile else if, pentru a evita condițțile evaluate fără rost.
  Pentru primul exemplu, programul se întreabă inițial dacă variabila x este negativă. În caz afirmativ, se afișează mesajul din if și se trece peste toate celelalte construcții else.
  De luat în calcul că dacă nu am fi dorit să afișăm nimic când x este 0, puteam să rămânem doar cu if și else if, nu este obligatoriu să avem o ramură else.