R. A. Yusupov C++ Builderda masalalar va topshiriqlar samarqand 2018 yil


return true; } else return false



Download 3,49 Mb.
bet100/147
Sana03.01.2022
Hajmi3,49 Mb.
#314841
1   ...   96   97   98   99   100   101   102   103   ...   147
Bog'liq
c asosiy

return true;

}

else return false;

}

// savolni chiqarish



void __fastcall TForm1::ShowQuestion()

{

int top;



int i;

// savol


Form1->Caption = IntToStr(nq)+"-savol";

Label1->Width = ClientWidth - Label1->Left -20;

Label1->Caption = Question.Text;

Label1->AutoSize = true;



if (Question.Img != "") // savolda tasvir bor

{

/* rasmni chiqarish uchun mumkin bo’lgan soxa balandligini aniqlash */



int RegHeight = Button1->Top-(Label1->Top

+ Label1->Height +10)//savolni chiqarish saxasi

-(RadioButton[1]->Height + 10) * Question.nAnswer;

Image1->Top = Label1->Top + Label1->Height + 10;

// rasmni yuklab, uni balandligini aniqlaymiz

Image1->Visible = false;

Image1->AutoSize = true;

// **** istisnoni qayta ishlashni qo’yamiz

Image1->Picture->LoadFromFile(Question.Img);

if(Image1->Height>RegHeight) //картинка не помещается

{

Image1->AutoSize = false;



Image1->Height = RegHeight;

Image1->Proportional = true;

}

Image1->Visible = true;



// положение полей отсчитываем от иллюстрации

top = Image1->Top + Image1->Height + 10;

}

else // положение полей отсчитываем от вопроса

top=Label1->Top + Label1->Height + 10;

// javob variantlari

for (i = 0; i < Question.nAnswer; i++)

{

RadioButton[i]->Top = top;



RadioButton[i]->Caption = Question.Answer[i];

RadioButton[i]->Visible = true;

RadioButton[i]->Checked = false;

top += 20;

}

}

// javobni tanlashda radiotugmani bosish



void __fastcall TForm1::RadioButtonClick(TObject *Sender)

{

int i =0;



while (!RadioButton[i]->Checked)

i++;


selAnswer = i+1;

//javob tanlandi, Keyingi tugmani ruxsatli qilsa

//bo’ladi

Button1->Enabled = true;

}

// ekrandan so’rovni o’chirish



void __fastcall TForm1::EraseQuestion(void)

{

Image1->Visible=false;//rasmni chiqarish maydonini



//yashirish

// javobni tanlash maydonini yashirish



for (int i = 0; i <4; i++)

{

RadioButton[i]->Visible = false;



RadioButton[i]->Checked = false;

}

Button1->Enabled=false;//Keyingi tugmani murojaatsiz



//qilish

}

//Button1 tugmasini bosish



void __fastcall TForm1::Button1Click(TObject *Sender)

{

bool ok; //navbatdagi savolni fayldan o'qish natijasi



switch(Button1->Tag) {

case 0://dastur ishi boshida birinchi savolni o'qish

// va chiqarishda OK tugmasini bosish

GetQuestion();

nq=1;


ShowQuestion();

Button1->Caption="Keyingisi";

Button1->Enabled=false;

Button1->Tag=1;



break;

case 1: //Keyingi tugmasini bosish

if(selAnswer==Question.rAnswer)//to'g'ri javobni

//tanlash

right++;

EraseQuestion();

ok=GetQuestion();

if (ok) {

nq++; //savollar hisoblagich

ShowQuestion();

}

else //savollar boshqa yo'q

{

FileClose(f);



//natijani chiqarish

AnsiString st; //xabar

int i; //yetib olgan daraja nomeri

Form1->Caption="Testlash natijasi";

st = "Savollar: " + IntToStr(nq)+

"\nTo'g'ri javoblar: "+IntToStr(right) + "\n";

//bahoni aniqlash

i=0;//faraz qilamiz, topshiruvchi barcha savollarga

//to'g'ri javob berdi

while ((right

i++;

st=st+mes[i];



Label1->Caption=st;

Button1->Caption="OK";

Button1->Enabled=true;

Button1->Tag=2;

}

break;

case 2: //dastur ishining oxirida OK tugmasini bosish

Application->Terminate(); //dastur ishini tugatish

}

}

//GetString funksiyasi fayldan satrlarni o'qiydi



//funksiya qiymati - o'qilgan belgilar soni

int __fastcall GetString(int f, AnsiString *st)

{

unsigned char buf[300]; // satr (bufer)



unsigned char *p = buf; // satrga ko'rsatkich

int n;//o'qilgan baytlar soni (FileRead f-ya qiymati)

int len = 0; // satr uzunlligi

n = FileRead(f, p, 1);



while (n!=0)

{

if (*p == '\r')

{

n= FileRead(f, p, 1); // '\n' ni o'qish



break;

}

len++;



p++;

n = FileRead(f, p, 1);

}

*p = '\0';



if ( len !=0 )

st->printf("%s", buf);



return len;

}

// fayldan butun sonni o'qish



int __fastcall GetInt(int f)

{

char buf[20]; // satr (bufer)



char *p = buf; // satrga ko'rsatkich

AnsiString st;



int n; //o'qilgan baytlar soni (FileRead f-ya qiymati)

int a; // fayldan o'qilgan son

n = FileRead(f, p, 1) ;



while ((*p>='0')&&(*p<='9')&&(n>0))

{

p++;



n = FileRead(f, p, 1);

}

if (*p = '\r')

n = FileRead(f, p, 1); // '\n' ni o'qish

*p = '\0';

//NULL- terminated-satrni AnsiString-satrga

//o'zgartirish

st.printf("%s",buf);

a = StrToInt(st);



return a;

}

Imtihon qiluvchi – 2



Imtihon qiluvchi – 2 dasturi (1.71-rasm) testlash jarayonini avtomatlashtirishga imkon beradi. Test fayl nomi dasturga – yuklanish bo’yrug’i sifatida ko’rsatib uning yuklanish vaqtida o’zatiladi (1.72-rasm).
Test o’zida aniqlangan tuzilishga ega bo’lgan XML-hujjatni tavsiflaydi (1.73-rasm). head va description tugunlar test haqida nomlanish va umumiy ma’lumotlardan iborat. q tugunlar – bu savollar. q tugundagi text atributi qiymati o’zida savolni, right atributi – to’g’ri javob nomerini tasvirlaydi. Xar bir a tuguni – bu javob variantidir. level tugunlari testlash natijasida baholash darajasi xaqida ma’lumotlardan tashkil topgan: score atributi erishgan daraja uchun kerak bo’ladigan, to’g’ri javoblar sonini, text atribut – baholash aniqlaydi. Test faylini, masalan, Bloknot yordamida yaratish mumkin. Misol sifatida 1.73-rasmda test keltirilgan.





C++da dasturlash

Savollar





if (shart)

if (shart)then operator

if (shart)operator1 else operator2





if (shart)

while (shart) operator

do{operator}while(shart)





if (shart)

while (shart) operator

do{operator}while(shart)




















Download 3,49 Mb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   ...   147




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish