Structura alternativă este reprezentată de instrucțiunea de control a fluxului if-else(dacă-altfel), care permite executarea unor blocuri de cod diferite în funcție de o condiție. Aceasta este denumită „structură alternativă” deoarece programul poate urma una dintre două căi alternative.
Sintaxa generală:
if (condiție) {
// Codul executat dacă condiția este adevărată
} else {
// Codul executat dacă condiția este falsă
}
Exemplu simplu:
#include <iostream>
using namespace std;
int main() {
int numar;
cout << "Introdu un numar: ";
cin >> numar;
if (numar % 2 == 0) {
cout << "Numarul este par." << endl;
} else {
cout << "Numarul este impar." << endl;
}
return 0;
}
Variante:
- Doar
if(fără alternativă):
if (condiție) {
// Codul executat doar dacă condiția este adevărată
}
2. if - else if - else (structură alternativă multiplă):
if (condiție1) {
// Cod pentru condiția 1
} else if (condiție2) {
// Cod pentru condiția 2
} else {
// Cod dacă niciuna dintre condițiile de mai sus nu este îndeplinită
}
3. if-else se poate înlocui cu switch (doar pentru cazuri discrete)
Pentru variabile de tip întreg sau caracter, poți folosi și switch:
int optiune = 2;
switch(optiune) {
case 1:
cout << "Ai ales 1\n";
break;
case 2:
cout << "Ai ales 2\n";
break;
default:
cout << "Optiune necunoscuta\n";
break;
}
Iată un exemplu simplu în C++ care citește două numere întregi a și b de la tastatură și afișează care dintre ele este mai mare, folosind structura alternativă if-else:
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "Introdu primul numar (a): ";
cin >> a;
cout << "Introdu al doilea numar (b): ";
cin >> b;
if (a > b) {
cout << "Numarul mai mare este: " << a << endl;
} else if (b > a) {
cout << "Numarul mai mare este: " << b << endl;
} else {
cout << "Numerele sunt egale." << endl;
}
return 0;
}
Explicație:
- Se citesc valorile
așibde la tastatură. - Se compară cele două numere:
- Dacă
a > b, se afișeazăa. - Dacă
b > a, se afișeazăb. - Dacă sunt egale, se afișează un mesaj corespunzător.
- Dacă
Un exemplu de program C++ care folosește instrucțiunea switch. Acest program citește o opțiune de la tastatură și afișează un mesaj în funcție de opțiune:
Exemplu: Meniu simplu cu switch
#include <iostream>
using namespace std;
int main() {
int optiune;
cout << "Meniu:" << endl;
cout << "1. Afiseaza salut" << endl;
cout << "2. Afiseaza mesajul Acum faci informatica!" << endl;
cout << "3. Afiseaza cum se inchide corect programul" << endl;
cout << "Alege o optiune (1-3): ";
cin >> optiune;
switch (optiune) {
case 1:
cout << "Salut! Bine ai venit!" << endl;
break;
case 2:
cout << "Acum faci informatica!" << endl;
break;
case 3:
cout << "Programul se inchide daca apesi orice tasta." << endl;
break;
default:
cout << "Optiune invalida!" << endl;
break;
}
return 0;
}
Explicație:
switch(optiune)verifică valoarea introdusă.- Pentru fiecare
case, dacă valoarea se potrivește, se execută blocul respectiv. breakoprește executarea și iese dinswitch.defaulteste cazul implicit, folosit când valoarea nu corespunde niciunuicase.
Temă:
Să se explice linie cu linie fiecare program din această pagină.
