41
kalit so’zi faqat bir marta uchrashi mumkin. Misol uchun, kirish oqimidan “Jarayon davom
etilsinmi?” So’roviga foydalanuvchi tomonidan javob olinadi. Agar
ijobiy javob olinsa,
ekranga “Jarayon davom etadi!” Xabari chop etiladi va programma o’z ishini tarmoqlanuvchi
operatordan keyingi operator-larni bajarish bilan davom ettiradi, aks holda “Jarayon tugadi!”
Javobi beriladi va programma o’z ishini tugatadi. Bunda, foyda-lanuvchining ‘u’ yoki ’U’
javoblari jarayonni davom ettirishni bildiradi, boshqa belgilar
esa jarayonni tugatishni
anglatadi.
62.C++ da switch operatori tarkibida case larning ishlatilishi.
C++ da bir nechta tanlovli
operatorni almashtirish quyidagi masalani hal qilishda qanday ishlashini ko'rib chiqamiz:
deylik, foydalanuvchida Toshkent metro stantsiyalarining raqamlangan ro'yxati mavjud.
Foydalanuvchi bilan muloqot amalga oshiriladigan kodni yozish kerak, ya'ni metro
stansiyasining raqamini kiritish taklif etiladi. Stansiya raqamini kiritgandan so'ng, siz uning
nomini va sayohat vaqtini ekranda ko'rsatishingiz kerak. Agar ushbu raqam
bilan stansiya
bo'lmasa, bu haqda xabar bering va raqamni qayta kiritishni taklif qiling.
#include
Using namespace std;
Int main() { int answer = 0;
// Foydalanuvchi tanlovini saqlash
Cout << "Yo'l vaqtini hisoblash uchun metro stansiyasining raqamini kiriting (1 dan 5 gacha):
";
Cin >> answer;
Switch (answer)
{
Case 1: // agar answer = 1 bo'lsa cout << "Alisher Navoiy bekati: "; cout << "Borish vaqti - 15
min." << endl; break; //switchdan chiqish
Case 2:// agar answer = 2 cout << "Paxtakor bekati: "; cout << "Borish vaqti - 19 min." <<
endl; break;
Case 3: cout << "Bunyodkor bekati: "; cout << "Borish vaqti - 25 min." << endl; break;
42
Case 4: cout << "Ipak yo'li bekati: "; cout << "Borish vaqti - 30 min." << endl; break;
Case 5: cout << "Sergeli bekati: "; cout << "Borish vaqti - 38 min." << endl; break; default: //
agar hech qaysi bo'lmasa cout <
"To'g'ri raqam kiriting: (1 dan 5 gacha): "; }
Return 0;
}Dastlab foydalanuvchi answer o’zgaruvchisiga qiymat beradi. So'ngra, switch() ning
qanchalik qiziqarli ishlashini ko'rib chiqaylik: qavs ichida unga answer o’zgaruvchisi
qiymatini tekshirish uchun uzatamiz va har bir alohida so'zning yonida foydalanuvchi kiritishi
mumkin bo'lgan javobning mumkin bo'lgan qiymatlarini yozamiz (1, 2, 3, 4, 5). Har
bir case
dan so'ng quyidagi operatorni ko'rasiz : bu talab qilinadi. Undan keyin buyruqlar keltiriladi,
agar answer o’zgaruvchisiga kiritilgan qiymat case operatori operatori oldidagi qiymat bilan
bir xil bo’lsa, : belgisidan keying operatorlar guruhi bajariladi. Har bir ish blokining oxirida
break bayonoti ham talab qilinadi. Ushbu break operatori kompilyatorga ushbu holat
bajarilgan bo'lsa, switch() dan chiqish kerakligini aytadi. Agar javob 1 bo'lsa, 1-holat ishga
tushiriladi va ekran break kalit so'zidan oldin unda nima yozilganligini ko'rsatadi va qolgan
barcha holatlar e'tiborga olinmaydi. Agar javob 2 bo'lsa, faqat 2-holat bajariladi va switch ()
chiqadi. Answer o’zgaruvchisining qiymati switch () ichida berilgan qiymatlarga to'g'ri
kelmasa nima bo'ladi? Buning uchun default bloki taqdim etiladi. Bu unga faqat bitta ish
ishlamaganida va shunga ko'ra, ushbu bloklarning biron bir break ishlamaganida keladi.
Bizning misolimizda, foydalanuvchi tomonidan kiritilgan qiymat 1 dan kichik yoki 5 dan katta
bo'lsa, u ishlaydi. Keyin foydalanuvchi ekranda ushbu raqam bilan metro bekati yo'qligi va
yozuvni takrorlash kerakligi to'g'risida xabarni ko'radi.
Do'stlaringiz bilan baham: