Darslik. Visual Studio'da oddiy C# konsol ilovasini yaratish


Tekshirish: kodlashning tugashi


Download 1.99 Mb.
bet8/8
Sana13.02.2023
Hajmi1.99 Mb.
#1194971
1   2   3   4   5   6   7   8
Bog'liq


Tekshirish: kodlashning tugashi


Ushbu qoʻllanmada siz Kalkulyator ilovasiga koʻplab oʻzgarishlar kiritdingiz. Endi u hisoblash resurslaridan samaraliroq foydalanadi va kiritilgan ma'lumotlardagi xatolarning ko'pini hal qiladi.
Quyida biz barcha kodlarni bitta blokda to'pladik:
C# nusxasi


sinf kalkulyator
{
ommaviy statik ikki barobar DoOperation ( ikkita raqam 1 , ikkita raqam 2 , string op )
{
ikki barobar natija = double .NaN; // Standart qiymat "raqam emas" bo'lib, agar bo'linish kabi operatsiya xatoga olib kelishi mumkin bo'lsa, biz foydalanamiz.


// Matematikani bajarish uchun switch iborasidan foydalaning.
almashtirish (op)
{
hol "a" :
natija = son1 + son2;
sindirish ;
hol "s" :
natija = son1 - son2;
sindirish ;
hol "m" :
natija = son1 * son2;
sindirish ;
hol "d" :
// Foydalanuvchidan nolga teng bo'lmagan bo'luvchini kiritishni so'rang.
agar (num2 != 0 )
{
natija = son1 / son2;
}
sindirish ;
// Noto'g'ri kiritilgan variant uchun matnni qaytaring.
standart :
sindirish ;
}
natijani qaytarish ;
}
}


sinf dastur
{
statik bekor asosiy ( string [] args )
{
bool endApp = noto'g'ri ;
// Sarlavhani C# konsol kalkulyatori ilovasi sifatida ko'rsatish.
Console.WriteLine( "C#\r tilidagi konsol kalkulyatori" );
Console.WriteLine( "--------------------------------\n" );


esa (!endApp)
{
// O'zgaruvchilarni e'lon qiling va bo'sh qilib belgilang.
string numInput1 = "" ;
string numInput2 = "" ;
doubleresult = 0 ;


// Foydalanuvchidan birinchi raqamni yozishni so'rang.
Console.Write( "Raqamni kiriting va Enter tugmasini bosing: " );
numInput1 = Console.ReadLine();


double cleanNum1 = 0 ;
while (! double .TryParse(numInput1, out cleanNum1))
{
Console.Write( "Bu noto'g'ri kiritish. Iltimos, butun sonni kiriting: " );
numInput1 = Console.ReadLine();
}


// Foydalanuvchidan ikkinchi raqamni yozishni so'rang.
Console.Write( "Boshqa raqamni kiriting va Enter tugmasini bosing: " );
numInput2 = Console.ReadLine();


double cleanNum2 = 0 ;
while (! double .TryParse(numInput2, out cleanNum2))
{
Console.Write( "Bu noto'g'ri kiritish. Iltimos, butun sonni kiriting: " );
numInput2 = Console.ReadLine();
}


// Foydalanuvchidan operator tanlashini so'rang.
Console.WriteLine( "Quyidagi ro'yxatdan operatorni tanlang:" );
Console.WriteLine( "\ta - Qo'shish" );
Console.WriteLine( "\ts - Ayirish" );
Console.WriteLine( "\tm - Ko'paytirish" );
Console.WriteLine( "\td - Divide" );
Console.Write( "Sizning variantingizmi?" );


string op = Console.ReadLine();


harakat qilib ko'ring
{
natija = Calculator.DoOperation(cleanNum1, cleanNum2, op);
agar ( double .IsNaN(natija))
{
Console.WriteLine( "Bu operatsiya matematik xatoga olib keladi.\n" );
}
else Console.WriteLine( "Sizning natijangiz: {0:0.##}\n" , natija);
}
tutish (e istisno)
{
Console.WriteLine( "Yo'q! Matematikani bajarishda istisno yuz berdi.\n - Tafsilotlar: " + e.Message);
}


Console.WriteLine( "--------------------------------\n" );


// Yopishdan oldin foydalanuvchi javob berishini kuting.
Console.Write( "Ilovani yopish uchun 'n' va Enter ni bosing yoki davom etish uchun boshqa istalgan tugmani va Enter tugmasini bosing: " );
if (Console.ReadLine() == "n" ) endApp = true ;


Console.WriteLine( "\n" ); // do'stona qatorlar oralig'i.
}
qaytish ;
}
}
Download 1.99 Mb.

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




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