Jump to content

[C++] Structura alternativa


Vennom
 Share

Recommended Posts

a) Instrucţiunea if:

 

Structurile alternative dirijează execuţia unei secvenţe de instrucţiuni (s1 sau s2) in funcţie de valoarea de adevar a unei condiţii plasate in blocul de decizie. Dacă secvenţa s1 sau s2 conţine mai multe instrucţiuni, acestea sunt introduse intr-un bloc de instrucţiuni. Dacă secvenţa s2 este vida (structura pseudoalternativă), instrucţiunea if nu are ramura else.

 

Sintaxa:

post-7210-0-78136200-1386680650_thumb.gif

if(conditie)
s1
else
s2 

Exemplu: Ordonarea a 3 numere naturale:

#include <iostream>
#include <conio.h>
using namespace std;

int main() {
	int a,b,c,x;
	cin >> a >> b >> c;
		if (a>b) { //secventa contine 3 instructiuni deci le grupam cu " { } "
			x=b;
			b=a;
			a=x;
				 }
		if (b>c) {
			x=c;
			c=b;
			b=x;
				 }
		
		if (a>b) {
			x=b;
			b=a;
			a=x;
				 }
		cout << a << ", " << b << ", " << c;
	getch();
}

b) Instrucţiunea de selecţie:

Structura alternativa de selecţie dirijează execuţia unei secvenţe de instrucţiuni (s1,s2, .. ,sn) in funcţie de valoarea unui selector.

 

Sintaxa:

switch(selector) {
case v1 :s1;break;
case v2 :s2;break;
...
case vm :sm;break;
default:s; // default poate sa lipseasca
}

Legenda:

- selector este o expresie de tip int sau char,

- v1,..,vm sunt expresii constante de acelaşi tip cu expresia selector.

 

Exemplu: Se citesc de la tastatură două numere intregi x şi y. Programul realizează una dintre următoarele operaţii aritmetice, potrivit opţiunii alese: suma, diferenţa, produsul, catul impărţirii intregi.

#include <iostream>
#include <conio.h>
using namespace std;

int main() {
	int x,y,optiune;
	cin >> x >> y;
	cout << "Suma=1 | Diferenta=2 | Produs=3 | Cat=4" << endl << "Optiune: ";
	do {
	cin >> optiune;
	} while(optiune<1 && optiune>4);
	cout << endl;
	switch(optiune) {
	case 1: cout << "Suma= " << x+y;break;
	case 2: cout << "Diferenta= " << x-y;break;
	case 3: cout << "Produsul= " << x*y;break;
	case 4: cout << "Catul= " << x/y;break;
	}
	getch();
}
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.