Documente Academic
Documente Profesional
Documente Cultură
Instrucţiunea if:
În cazurile în care apare necesitatea de creare a unor fluxuri de execuție cu mai mult de două
ramificări, se utilizează instrucțiunile de ramificare multiplă. Instrucțiunea de ramificare multiplă
conține obligatoriu o expresie numită selector și o listă de instrucțiuni. Fiecare instrucțiune este
prefixată de una sau mai multe constante de caz. Sintaxa instrucțiunii în studiu este:
switch ( expresie )
{ case v1 : I1; break;
case v2: I2; break;
case v3: I3; break;
...
case vn : In; break;
default : In+1;
}
Exemplu 1.
Se da variabila int i;
1. de citit variabila i
2. Daca i=1; 2; 3;4 – de scris ce valoare are i
3. in caz contrar – de scris ca e alta valoare
Programul C++ #include< bits/stdc++.h>
using namespace std;
int main ()
{ int i; //declarăm variabila i- local
cin>>i; // citim de la ecran variabila i
switch (i) // instrucțiunea switch
{ //begin
case 1: cout <<”Am citit 1”; break; //cazul 1
case 2: cout<<”Am citit 2”; break; // cazul 2
case 3: cout<<”Am citit 3”; break; // cazul 3
case 4: cout<<”Am citit 4”; break; // cazul 4
default: cout<<”Am citit alt nr diferit de 1, 2, 3,4”;
// în caz contrar
Exemplu 2
Se da char c; int a,b;
1. De citit c,
2. daca c- litera mare - de scris c-litera mare
Daca c- litera mica – de scris c- litera mica
Daca c- cifra - c- este cifra; de scris a+b; a-b; a*b; a div b; a mod b; a/b(b<>0) else
impartirea nu are sens
3. else de scris c- orice alt caracter si de scris ord(c); pred(c); succ(c)
Programul in C++
#include< bits/stdc++.h>
using namespace std;
char c; int a,b;
int main ()
{ cout<<”c=”; cin>>c;
switch (c) // instrucțiunea switch
{ case ’A’...’Z’: cout <<c<<”- litera mare”; break;
case ’a’...’z’: cout <<c<<”- litera mica”; break;
case ’0’...’9’: {cout <<c<<”- cifra”;
cout<<”a=”; cin>>a;
cout<<”b=”; cin>>b;
cout<<”a+b=”<<a+b<<endl;
cout<<”a-b=”<<a-b<<endl;
cout<<”a*b=”<<a*b<<endl;
if (b) { cout<<”a div b=”<<a/b<<endl;
cout<<”a mod b=”<<a%b<<endl;
cout<<”a /b=”<<1.0*a/b<<endl;
} else cout<<”impartirea la 0 nu are
sens”<<endl;
break;
}
default : { cout <<c<<”- orice alt caracter”<<endl;
cout<<”ord(c)=”<<int(c)<<endl;
cout<<”pred(c)=”<<char(c-1)<<endl;
cout<<”succ(c)=”<<char(c+1)<<endl;
break;
}
} return 0;
}
Problemă: Zilele săptămânii luni, marţi, miercuri, …, duminică sunt notate prin numerele 1, 2, 3,
…, 7. Scrieţi un program care citeşte de la tastatură numărul x şi afişează pe ecran: a) denumirea zilei
ce corespunde numărului x; b) mesajul “Zi de şcoală”, dacă numărului x îi corespunde o zi de şcoală şi
mesajul “Zi liberă”, dacă numărului x îi corespunde o zi de odihnă.
X, dacă x<0
Y= 0, dacă 0≤x≤3
0, dacă x>3