Tajriba ishi №19
Mavzu: Individual erkin dastur loyihalash.
Ishni bajarishdan maqsad: Calendar dasturini Visual Studio dasturida yaratish.
Nazariy qism:
Calendar dasturi – hohlagan sanani kiritgan vaqtda bizga shu sananing haftaning
qaysi kuniga to’g’ri kelishini ko’rsatuvchi dastur hisoblanadi. Bu dastur yordamida
boshqa calendar dasturlaridan farqli faqat hafta kuni ko’rsatiladi. Afzallik tomoni bu
dastur yordamida C ++ dasturlash tilida int tipi qabul qila oladigana barcha yillar
uchun hafta kunlarini aniqlashimiz mumkin.
Buni quyidagiga dasturda ko’rib chiqamiz:
Calendar dasturi faqat asosiy oynadan tashkil topgan bo’lib, hamma amallar shu
oynada bajariladi. Bu oynaning ko’rinishi quyidagicha:
Bunda sana kun, oy va yilni kiritish uchun comboBox komponentasidan
foydalanamiz. Sanani yil, oy va kunni kiritigandan so’ng Xisoblash tugmachasi
bosiladi bunda quyi textBox komponentasida bizga natija ko’rsatiladi.
119
Natija :
Agar sana xato kiritilsa bunda bizga sana xato kiritilganligi to’g’risida xabar
beriladi:
Dastur kodi quyidagicha:
#pragma endregion
private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e) {
120
ok = 1;
kun = System::Convert::ToInt64(comboBox1->Text);
yil = System::Convert::ToInt64(comboBox3->Text);
if(comboBox2->Text == "Yanvar")
oy = 1;
else if(comboBox2->Text == "Fevral")
oy = 2;
else if(comboBox2->Text == "Mart")
oy = 3;
else if(comboBox2->Text == "Aprel")
oy = 4;
else if(comboBox2->Text == "May")
oy = 5;
else if(comboBox2->Text == "Iyun")
oy = 6;
else if(comboBox2->Text == "Iyul")
oy = 7;
else if(comboBox2->Text == "Avgust")
oy = 8;
else if(comboBox2->Text == "Sentabr")
oy = 9;
else if(comboBox2->Text == "Oktabr")
oy = 10;
else if(comboBox2->Text == "Noyabr")
oy = 11;
else if(comboBox2->Text == "Dekabr")
oy = 12;
else
ok = 0;
if(yil < 0 || kun <= 0 || kun > 31)
121
ok = 0;
if(oy == 4 || oy == 6 || oy == 9 || oy == 11){
if(kun == 31)
ok = 0;
}
if(ok && oy == 2){
if(yil % 4 != 0){
if(kun > 28)
ok = 0;
}
else{
if(yil % 100 == 0){
if(yil % 400 == 0){
if(kun > 29)
ok = 0;
}
else{
if(kun > 28)
ok = 0;
}
}
else{
if(kun > 29)
ok = 0;
}
}
}
for(int i = 1; i < oy; i ++)
if(i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
kun += 31;
else if(i == 2)
122
if(yil % 4 == 0)
if(yil % 100 == 0 && yil % 400 != 0)
kun += 28;
else
kun += 29;
else
kun += 28;
else
kun += 30;
__int64 s = ((yil - 1) * 365 + (yil - 1) / 4 + kun - (yil - 1) / 100 + (yil - 1) / 400) % 7;
if(ok)
switch(s) {
case 0 : textBox1 ->Text = "Yakshanba"; break;
case 1 : textBox1 ->Text = "Dushanba"; break;
case 2 : textBox1 ->Text = "Seshanba"; break;
case 3 : textBox1 ->Text = "Chorshanba"; break;
case 4 : textBox1 ->Text = "Payshanba"; break;
case 5 : textBox1 ->Text = "Juma"; break;
case 6 : textBox1 ->Text = "Shanba"; break;
}
else
textBox1->Text = "Bunday sana mavjud emas !";
}
};
}
|