Jadval 6.2.-Ternar: Kiritilgan sonni 2 dan 5 gacha bo‘lgan sonlarga qoldiqsiz bo‘linish yoki bo‘linmasligini ko‘rsatuvchi dasturini.
2-Misol. Kiritilgan ikki sonni solishtirish uchun if..else va ternar operatorlaridan foydalanib dastur tuzing.
using System;
namespace kattasini_topish_consol
{
class Program
{
static void Main(string[] args)
{
l1:
Console.Write("Birinchi sonni kiriting: ");
int a = int.Parse(Console.ReadLine());
Console.Write("Ikkinchi sonni kiriting: ");
int b=int.Parse(Console.ReadLine());.
//Qisqa shart operatori bilan a va b larni teng emasligini tekshiramiz
Console.WriteLine(a!=b ?
a+" soni "+b+" soniga teng emas":
a+" soni "+b+" soniga teng");
//Agar a son b songa tengligi yolg‘on bo‘lsa,
if (!(a==b)) {
if(a>b) Console.WriteLine(a+" > "+b);
else Console.WriteLine(a+" < "+b);
}
//Bitta bo‘sh qator tashlash
Console.WriteLine();
//Kerakli tugmalar bosish haqida xabar chiqarish
Console.Write("\n Takrorlash uchun R ni bosing\n Dasturdan chiqish uchun X ni bosing;");
char x;
l0:
//x ga bosilgan tugma qiymatini o‘zlashtirish
x=Console.ReadKey().KeyChar;
if ((x == 'x') || (x == 'X'))
goto l2; // x tugma bosilsa l2 metkaga o‘tish
else if ((x == 'r') || (x == 'R'))
{
Console.Clear();
goto l1; //r tugma bosilsa l1 metkaga o‘tish
}
Jadval 6.3. Kiritilgan ikki sonni solishtirish dasturi.
6.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;
}