3-дәріс Таңдау операторды
Егер де бағдарламада көп варианттың арасында таңдау керек болса, if операторының ішкі құрамдарының орнына таңдау немесе вариант операторы деп аталатын switch қайта қосу операторын қолданған дұрыс. Бұл оператордың түрі:
switch (өрнек)
{
case n1 : 1оператор; break;
case n2 : 2оператор; break;
case nk : Коператор; break;
default : Nоператор; break;
}
Таңдау операторды орындау өрнектің (селектордың) мәнін есептеуден басталады. Содан кейін таңдау операторы осы мәнге сәйкес болатын тұрақты тұрған операторға басқаруды береді. Егер де сәйкестік табылмаса, default операторынан кейін орнатылған оператор орындалады. Мысалы,
switch (i)
{
case l: x=0; break;
case 2: x=2*x; break;
case 100: x=sin (x); break;
default: x=cos(x); break;
}
z=x; …
Мысалда, i селекторы, мысалы, 100 мәнін қабылдаса, x=sin(x) операторы орындалады, содан кейін басқару z=x операторға беріледі.
Таңдау switch операторында default операторын орнатпауға болады. Оператордың әр тармағында орнатылған break операторы ағынды операторды аяқтап басқаруды бағдарламаның келесі операторына беруді білдіреді. Егер де break операторы болмаса, бағдарлама break операторы кездескенше немесе switch операторының аяғына дейін орындалады.
Шартпен өту операторының альтернативасы болып С++ тілінде үштік шартты ?: операторы болады. Бұл үш операндпен жұмыс жасайтын жалғыз оператор. Бұл оператор үш өрнекті қабылдап, мәнді қайтарады:
(1өрнек) ? 2өрнек: 3өрнек;
Операторды орындау 1өрнек-ті есептеуден басталады. Егер де өрнек ақиқат болса, нәтижесі 2өрнек болады, кері жағдайда нәтижесі 3өрнек болады. Мысалы, mах = (х>у) ? х: у; операторы екі х және у сандардың максималдысын анықтайды.
1-мысал. 1.1-шы суретте, көрсетілген нысанаға жебе атылған кезде алынған ұпайлар санын анықтау керек.
#include
using namespace std;
int main(){
fl oat x, у; int kol;
cout << "Ату координаталарын енгізіңіз\n";
cin >> x >> у;
if (x*x + y*y < 1) kol = 2;
else if (x*x + y*y < 4) kol = 1;
else kol = 0;
cout << "\n Ұпайлар саны: " << kol;
return 0;
}
2-мысал. 4 арифметикалық амал орындайтын қарапайым калькулятор жұмысы жүзеге асырыңыз:
#include
using namespace std;
int main(){
int a, b, res;
char op;
cout << "\nБірінші операндты енгізіңіз: "; cin >> a;
cout << "\nОперация белгісін енгізіңіз: "; cin >> op;
cout << "\nЕкінші операндты енгізіңіз: "; cin >> b;
bool f = true;
switch (op){
case '+': res = a + b; break;
case '-': res = a - b; break;
case '*': res = a * b; break;
case '/': res = a / b; break;
default: cout << "\nБелгісіз операция"; f = false;
}
if (f) cout << "\nНəтиже: " << res;
return 0;
}
Достарыңызбен бөлісу: |