Листинг 9.2.1-Тернар: Киритилган сонни 2 дан 5 гача бўлган сонларга қолдиқсиз бўлиниш ёки бўлинмаслигини кўрсатувчи дастурини.
2-Мисол.Киритилган икки сонни солиштириш учун if..else ва тернар операторларидан фойдаланиб дастур тузинг.
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());.
//Қисқа шарт оператори билан а ва b ларни тенг эмаслигини текширамиз
Console.WriteLine(a!=b ?
a+" soni "+b+" soniga teng emas":
a+" soni "+b+" soniga teng");
//Агар a сон b сонга тенглиги ёлғон бўлса,
if (!(a==b)) {
if(a>b) Console.WriteLine(a+" > "+b);
else Console.WriteLine(a+" < "+b);
}
//Битта бўш қатор ташлаш
Console.WriteLine();
//Керакли тугмалар босиш ҳақида хабар чиқариш
Console.Write("\n Takrorlash uchun R ni bosing\n Dasturdan chiqish uchun X ni bosing;");
char x;
l0:
//х га босилган тугма қийматини ўзлаштириш
x=Console.ReadKey().KeyChar;
if ((x == 'x') || (x == 'X'))
goto l2; // х тугма босилса l2 меткага ўтиш
else if ((x == 'r') || (x == 'R'))
{
Console.Clear();
goto l1; //r тугма босилса l1 меткага ўтиш
}
Листинг 9.2.2.Киритилган икки сонни солиштириш дастури.
10.1.switch-case конструкцияси switch-case конструкциясини вариант танлаш оператори деб ҳам аташ мумкин. Агар аргументни солиштирилувчи қийматлари бир нечта бўлса, ушбу оператордан фойдаланиш жуда қулайдир.
Синтаксиси:
...
switch(аргумент)
{
case <а1> :
[оператор(лар)..];
break;
case <а2> :
[оператор(лар)..];
break;
...
[default: [оператор(лар)..]; break;]
}
Бу ерда:
<> - ичидаги элемент мажбурий эканлигини билдиради;
[] - ичидаги элемент мажбурий эмаслигини билдиради;
аргумент – қиймати текширилувчи ўзгарувчи ёки ўзгармас ёки ифода;
[оператор(лар)..]- шартга мос равишда бажарилувчи оператор(лар);
а1, а2..- текширилувчи шарт, яъни аргумент а1(мос равишда а2 га, а3 га ва ҳ.) га тенг бўлса;
default – case лар ёрдамида текширилган бирорта шарт бажарилмаса, бажарилиши лозим бўлган кодни билдиради.
break – дастур, конструкция ичидаги кейинги қаторларни бажаришга ўтиб кетиб қолмаслигини таъминлаш учун конструкциядан чиқиб кетиш мақсадида ишлатилади. Ушбу оператор ўрнида goto операторидан ҳам фойдаланиш мумкин.
Ишлаш режими қуйидагича: switch хизматчи сўзидан кейин ёзилган қавс ичидаги ифодани текширилади. Ушбу ифода қиймати навбатма-навбат case меткаси билан берилган қийматлар(a1, a2 ва ҳ.)га солиштирилади. Агар улар тенг бўлса,шу case блоки ичида ёзилган оператор(лар) бажарилади.
Мисол:
Console.WriteLine("Y ёки N тугмаларидан бирини босинг");
char selection;
selection = Console.ReadKey().KeyChar;
switch (selection)
{
case "Y":
Console.WriteLine("Сиз Y тугмасини босдингиз!");
break;
case "N":
Console.WriteLine("Сиз N тугмасини босдингиз!");
break;
default:
Console.WriteLine("Сиз бошқа тугмани босдингиз!");
break;
}