Jadval 6.1. Nishonga otilgan o‘qlar bo‘yicha ochkoni hisoblash dasturi
If..else konstruksiyasi ichida yana bir nechta If..else konstruksiyasin qo‘llash mumkin. Lekin bu dasturni murakkablashib ketishiga olib kelishi mumkin.
Ichma-ich joylashgan If..else konstruksiyasiga misol tariqasida 6.1.2 listingda kiritilgan 3 ta sondan eng katta va eng kichigini topish dasturi keltirilgan.
using System;
namespace uch_sondan_topish
{
class Program
{
static void Main(string[] args)
{
double a, b, c, max=0, min=0;
//string smax, smin;
Console.Write("A=");
a = double.Parse(Console.ReadLine());
Console.Write("B=");
b = double.Parse(Console.ReadLine());
Console.Write("C=");
c = double.Parse(Console.ReadLine());
if ((a == b) && (b == c))
Console.WriteLine("a, b, c sonlari o'zaro teng!");
else
{
if (a > b)
{ max = a; min = b;}
else if (a < b)
{max = b; min = a;} //****2
else
{max = b; min = b;}
//***********************
if (max < c)max = c;
else if (min > c)min = c;
else if (max == c)max = c;
else if (min == c)min = c;
}
Console.WriteLine("MAX=" + max + ", MIN=" + min + ",\n ");
Console.ReadKey();
}
}
}
Ushbu operator bilan biz avvalgi ma’ruzalarimizda tanishib o‘tgan edik. Ushbu operatorni ternar operator ham deb ataladi. Odatda ternar operatoridan shartga mos ravishda bajariluvchi operatorlar soni bittadan ko‘p bo‘lmaganda foydalanish qulaydir.
Sintaksisi:<shart ? [rost bo‘lsa, operator]:[yolg‘on bo‘lsa, operator]> Masalan:
int i=10;
Console.WriteLine(i==10 ? “i = 10”:“i <> 10”);
Console.WriteLine(i<20 ? “i < 20”:“i >= 20”);
20>