Ma’ruza mashg`ulot uchun


Download 0.85 Mb.
bet21/49
Sana19.06.2023
Hajmi0.85 Mb.
#1600219
1   ...   17   18   19   20   21   22   23   24   ...   49
Bog'liq
1-semestr maruzalar

Listing 4.4.Kiritilgan ikki sonni solishtirish dasturi.


4.3.switch-case konstruksiyasi
switch-case konstruksiyasini variant tanlash operatori deb ham atash mumkin. Agar argumentni solishtiriluvchi qiymatlari bir nechta bo‘lsa, ushbu operatordan foydalanish juda qulaydir.


Sintaksisi:
...
switch(argument)
{
case :
[operator(lar)..];
break;
case :
[operator(lar)..];
break;
...
[default: [operator(lar)..]; break;]
}
Bu yerda:
<> - ichidagi element majburiy ekanligini bildiradi;
[] - ichidagi element majburiy emasligini bildiradi;
argument – qiymati tekshiriluvchi o‘zgaruvchi yoki o‘zgarmas yoki ifoda;
[operator(lar)..]- shartga mos ravishda bajariluvchi operator(lar);
a1, a2..- tekshiriluvchi shart, ya’ni argument a1(mos ravishda a2 ga, a3 ga va h.) ga teng bo‘lsa;
default – case lar yordamida tekshirilgan birorta shart bajarilmasa, bajarilishi lozim bo‘lgan kodni bildiradi.
break – dastur, konstruksiya ichidagi keyingi qatorlarni bajarishga o‘tib ketib qolmasligini ta’minlash uchun konstruksiyadan chiqib ketish maqsadida ishlatiladi. Ushbu operator o‘rnida goto operatoridan ham foydalanish mumkin.
Ishlash rejimi quyidagicha: switch xizmatchi so‘zidan keyin yozilgan qavs ichidagi ifodani tekshiriladi. Ushbu ifoda qiymati navbatma-navbat case metkasi bilan berilgan qiymatlar(a1, a2 va h.)ga solishtiriladi. Agar ular teng bo‘lsa,shu case bloki ichida yozilgan operator(lar) bajariladi.
Misol:
Console.WriteLine("Y yoki N tugmalaridan birini bosing");
char selection;
selection = Console.ReadKey().KeyChar;
switch (selection)
{
case "Y":
Console.WriteLine("Siz Y tugmasini bosdingiz!");
break;
case "N":
Console.WriteLine("Siz N tugmasini bosdingiz!");
break;
default:
Console.WriteLine("Siz boshqa tugmani bosdingiz!");
break;
}
Listing 4.5. Bosilgan tugmani aniqlash
Quyidagi listingda switch-case konstruksiyasidan foydalanib oddiy kalkulyator dasturiga misol keltirilgan.
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
string buf;
double a, b, res;


Console.WriteLine( "Birinchi operandni kiriting:" );
a = double.Parse( Console.ReadLine() );
Console.WriteLine( "Amal belgisini kiriting" );
char op = (char)Console.Read();
Console.ReadLine();
Console.WriteLine( "Ikkinchi operandni kiriting:" );
b = double.Parse( Console.ReadLine() );


bool ok = true;
switch (op)
{
case '+' : res = a + b; break;
case '-' : res = a - b; break;
case '*' : res = a * b; break;
case '/' : res = a / b; break;
default : res = double.NaN; ok = false; break;
}
if (ok) Console.WriteLine( "Natija: " + res );
else Console.WriteLine( "Noto‘g‘ri amal" );
}
}
}

Download 0.85 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   49




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