«amaliy matematika va informatika» kafedrasi «dasturlash asoslari» fanidan



Download 1,35 Mb.
bet7/11
Sana04.03.2022
Hajmi1,35 Mb.
#482925
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Xaydarova Oydinxon

Switch operatori.
Juda ko’p hollarda ichma ich yozilgan shart operatorlari ko’p tekshirish olib borib bir nechta amal bajaradi. Lekin bulardan faqat bittasigina haqiqiy bo’ladi.
Masalan,
if (a == 10) Console.WriteLine("a teng 10");
else
if (a == 20) Console.WriteLine(a teng 20 " ) ;
else
if (a == 30} Console.WriteLine("a teng 30 " ) ;
else ....
Bunday murakkab shart tekshirilishi bo’lganda if operatoridan ko’ra, uning yangi versiyasi bo’lgan switch dan foydalanish afzal.Switch operatori quyidagicha ishlaydi :
Switch (ifoda)
{
case : o’zgarmas ifoda : instruksiya
o’tish ifodasi
[default : instruksiya]
}
Ko’rinib turibdiki, switch da ham tekshirilayotgan ifoda if … else dagi kabi, ( ) orasiga olingan va operatordan keyin yozilgan.Case(tekshirish) va default (aks holda) bo’limlari
qaysi amal bajarilishi zarurligini aniqlab beradi.Case operatori albatta biror bir tenglashtirish uchun qiymat talab qiladi.
{
switch (a)
case 10:
Console.WriteLine("a 10") ;
break;
case 20:
Console.WriteLine("a 20");
break;
case 30: Console.WriteLine("a 30");
break;
}
Switch operatorida default amalini yozish shart emas, chunki u berilgan qiymatning tanlangan birorta qiymatga mos kelmaganda bajariladigan amallarni o’z ichiga oladi. Agarda berilgan qiymat birorta tanlangan qiymatga mos kelsa, u holda case amalidan keyin bajariladigan amallar (ular bir nechta bo’lsa, { } orasiga olinadi) bajariladi, so’ng break amali switch operatorining ishini shu joyda to’xtatadi va switch operatoridan keyin keladigan operator ishini davom ettiradi.
C va C++ tillarida keyingi case amaliga avtomatik o’tishingiz mumkin, agarda oldingi case amalining oxirida break yoki goto operatorlari yozilmagan bo’lsa. Shunday qilib, C# va C++ da quyidagicha yozish mumkin :
Case : statement 1 ;
Case : statement 2;
Break ;
Bu misolda statement 1 dan so’ng statement 2 ga avtomatik tarzda o’tiladi (C++ da). C# da bu dastur ishlamaydi, chunki C# tili sintaksisida case1 dan case2 ga ikki xil vaziyatda o’tish mumkin : agarda birinchi amal bo’sh bo’lsa yoki break, goto operatorlari yordamida.Har bir case operatori o’zida break amalini ushlab turishi lozim.
Masalan oddiy hafta kunlarini aniqlash dasturini ko’ramiz:
static void Main(string[] args)
{
a1: Console.Write("hafta kunini kiriting - > ");
int a = int.Parse(Console.ReadLine());
switch (a) {
case 1: Console.WriteLine("Yakshanba");break;
case 2: Console.WriteLine("Dushanba"); break;
case 3: Console.WriteLine("Seshanba"); break;
case 4: Console.WriteLine("Chorshanba"); break;
case 5: Console.WriteLine("Payshanba"); break;
case 6: Console.WriteLine("Juma"); break;
case 7: Console.WriteLine("Shanba"); break;
default: Console.WriteLine("xatolik bor!"); goto a1; break;
}
Console.ReadKey();
}
Natija:
Kiritilgan raqamga qarab hafta kunlarini aniqlab ekranga chop etadi!
Switch va satrlar bilan ishlash.
Yuqorida keltirilgan misollarda userlar butun tipga tegishli edi.Agarda siz switch operatorini satrli tipda ishlatmoqchi bo’lsangiz, u holda quyidagicha yozishingiz mumkin :
Case “Artur”:
Agarda tekshirish uchun satrlar ko’p bo’lsa, butun tipli o’zgaruvchilar ko’p marotaba case operatorini ishlatishga majbur etadi.
Misol :
using System;
using System.Text;
namespace satrda
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Oyni bosh harf bilan kiriting!");
string oy = Console.ReadLine();
switch (oy) {
case"Dekabr":
case"Yanvar":
case"Fevral":Console.WriteLine(" Qish 2-oy");break;
case"Mart":
case"Aprel":
case"May":Console.WriteLine(" Bahor ! 5-oy");break;
case"Iyun":
case"Iyul":
case"Avgust":Console.WriteLine(" Yoz 8-oy");break;
case"Sentabr":
case"Oktabr":
case"Noyabr":Console.WriteLine(" Kuz 11-oy");break;
default:
Console.WriteLine("kiritishda xatolik bor!"); break;
}
Console.ReadKey();
}
}
}
Natija :oyni bosh harf bilan kiriting !
Iyun
Yoz 6-oy

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish