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


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


Format xatosini tuzatish


Ilova raqamli belgini talab qilganda alifbo belgisini kiritsangiz, dastur to'xtaydi. Visual Studio muammoning sababini kod muharririda ko'rsatadi.

Ushbu muammoni hal qilish uchun siz avval kiritilgan kodni qayta tiklashingiz mumkin.

Kodni qayta ko'rib chiqish


Barcha kodlarni qayta ishlashni dastur sinfiga topshirish o'rniga, ilovangizni ikki sinfga bo'lishingiz mumkin: Kalkulyator va Dastur .
Kalkulyator sinfi hisob -kitoblar uchun ishning katta qismini bajaradi, Program sinfi esa foydalanuvchi interfeysi va xatolarni qayta ishlash uchun javobgardir.
Shunday ekan, boshlaylik!

  1. Program.cs faylida hamma narsani o'chiring va quyidagi yangi Kalkulyator sinfini qo'shing:

C# nusxasi
sinf kalkulyator
{
ommaviy statik ikki barobar DoOperation ( ikkita raqam 1 , ikkita raqam 2 , string op )
{
ikki barobar natija = double .NaN; // Agar bo'linish kabi operatsiya xatoga olib kelishi mumkin bo'lsa, standart qiymat "raqam emas".


// 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 ;
}
qaytish natija ;
}
}



  1. quyidagi tarkibga ega yangi Dastur sinfini qo'shing:

C# nusxasi
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 ;
}
}

  1. Ilovani ishga tushirish uchun Kalkulyator tugmasini bosing yoki F5 tugmasini bosing.

  2. Ekrandagi ko'rsatmalarga muvofiq 42 raqamini 119 raqamiga bo'ling. Natijalar quyidagi skrinshotga o'xshash bo'lishi kerak.


Endi siz konsol ilovasini yopmaguningizcha qo'shimcha hisob-kitoblarni amalga oshirishingiz mumkin. Natijalarni kamroq kasrli kasrlar bilan ham sozlash mumkin. Agar siz noto'g'ri belgi kiritsangiz, tegishli xato javobini olasiz.

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