C++ switch...case operatori
switch operatori bizga ko'plab alternativalar orasida kod blokini bajarishga imkon beradi.
if...else operatori bilan ham xuddi shunday qilishingiz mumkin. Biroq, switch operatorining sintaksisini o'qish va yozish ancha oson.
Sintaksis
switch (expression) {
case constant1:
// bajariladigan kod, agar
// ifoda doimiy1 ga teng;
break;
case constant2:
// bajariladigan kod, agar
// ifoda doimiy2 ga teng;
break;
.
.
.
default:
// bajariladigan kod, agar
// ifoda hech qanday konstantaga mos kelmaydi
}
Switch operatori qanday ishlaydi?
expression bir marta baholanadi va har bir case yorlig'ining qiymatlari bilan taqqoslanadi.
-Agar mos keladigan bo'lsa, mos keladigan yorliqdan keyin tegishli kod bajariladi. Misol uchun, agar variable qiymati constant2 ga teng bo'lsa, case constant2: dan keyingi kod break operatori paydo bo'lguncha bajariladi.
default: dan keyingi kod bajariladi.[!NOTE] Xuddi shu narsani if...else..if narvon bilan ham qilishimiz mumkin. Biroq, switch operatorining sintaksisi yanada toza va o'qish va yozishni ancha osonlashtiradi.
C++ switch operatorining blok-sxema... holat bayoni

// Switch Statement yordamida oddiy kalkulyator dastur
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> oper;
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;
switch (oper) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1 / num2;
break;
default:
// operator hech qanday holat konstantasiga mos kelmaydi (+, -, *, /)
cout << "Error! The operator is not correct";
break;
}
return 0;
}
Chiqish 1
Enter an operator (+, -, *, /): +
Enter two numbers:
2.3
4.5
2.3 + 4.5 = 6.8
Chiqish 2
Enter an operator (+, -, *, /): -
Enter two numbers:
2.3
4.5
2.3 - 4.5 = -2.2
Chiqish 3
Enter an operator (+, -, *, /): *
Enter two numbers:
2.3
4.5
2.3 * 4.5 = 10.35
Chiqish 4
Enter an operator (+, -, *, /): /
Enter two numbers:
2.3
4.5
2.3 / 4.5 = 0.511111
Chiqish 5
Enter an operator (+, -, *, /): ?
Enter two numbers:
2.3
4.5
Error! The operator is not correct.
Yuqoridagi dasturda qo'shish, ayirish, ko'paytirish va bo'lish amallarini bajarish uchun switch...case iborasidan foydalanamiz.
Bu dastur qanday ishlaydi
char o'zgaruvchisida saqlanadi.switch operatori foydalanuvchi tomonidan kiritilgan operatorni tekshirish uchun ishlatiladi: Agar foydalanuvchi + ni kiritsa, raqamlarga qo'shish amalga oshiriladi. Agar foydalanuvchi - ni kiritsa, raqamlarda ayirish amalga oshiriladi. Agar foydalanuvchi * ni kiritsa, ko'paytirish raqamlarda amalga oshiriladi. Agar foydalanuvchi / ni kiritsa, bo'linish raqamlar bo'yicha amalga oshiriladi. Agar foydalanuvchi boshqa belgi kiritsa, standart kod chop etiladi.break operatori har bir case blokida ishlatilishiga e'tibor bering. Bu switch operatorini tugatadi.
Agar break operatori ishlatilmasa, to'g'ri case dan keyingi barcha holatlar bajariladi.
Qo'shimcha ma'lumot olish uchun C++ Program to Make a Simple Calculator -dagi maqolaga tashrif buyurishingiz mumkin.