partial
class
Form2
:
Form
{
Form3
f3 =
new
Form3
();
public
Form2()
{ InitializeComponent(); }
private
void
Form2_FormClosed(
object
sender,
FormClosedEventArgs
e)
{
Application
.Exit(); }
public
string
GetLastName()
{
return
txtLastName.Text; }
C# программалау тілі. Ерекешева М.М.
public
string
GetFirstName()
{
return
txtFirstName.Text;
}
public
string
GetSecondName()
{
return
txtSecondName.Text; }
public
string
GetGroup()
{
return
txtGroup.Text;
}
public
string
GetSpec()
{
return
txtSpec.Text; }
private
void
btnNext_Click(
object
sender,
EventArgs
e)
{
if
(txtFirstName.Text ==
""
|| txtLastName.Text ==
""
|| txtSecondName.Text ==
""
||
txtGroup.Text ==
""
|| txtSpec.Text ==
""
)
{
MessageBox
.Show(
"Бір немесе бірнеше ӛріс толтырылмаған!"
,
"Кате!"
);
}
else
{
/*FirstName = txtFirstName.Text;
LastName = txtLastName.Text;
SecondName = txtSecondName.Text;
Groupe = txtGroup.Text;
Spec = txtSpec.Text;*/
f3.Show(
this
);
this
.Hide(); } }
Қосымшаға үшінші форманы қосамыз. Бұл тестілеу формасы. Форма үлгісі 35 суретте
кӛрсетілген.
35 сурет. Тестілеу формасы
Программа коды:
public
partial
class
Form3
:
Form
{
Form4
f4 =
new
Form4
();
int
q = 0;
// дұрыс жауаптар санын сақтауға арналған айнымалы
public
int
ta = 0;
// Барлық сұрақтарға арналған массив ы
string
[,] BaseTest =
new
string
[100, 6];
C# программалау тілі. Ерекешева М.М.
// Кездейсоқ қайталанбайтын жауап номерлерін сақтайтын массив
int
[] ListNum =
new
int
[25];
// Дұрыс жауаптарға арналған массив
string
[] TrueAnswer =
new
string
[25];
string
[] AnswerS =
new
string
[25];
string
[] mass =
new
string
[25];
int
count = 0;
int
a;
public
string
FirstName =
""
;
public
string
LastName =
""
;
public
string
SecondName =
""
;
public
string
Group =
""
;
public
string
Spec =
""
;
public
Form3()
{ InitializeComponent(); }
private
void
Del(
int
z)
{
// Сұрақтағы цифр мен нүктені жою
int
k = 0;
//1. Word редакторы:
while
(BaseTest[z, 0][k] !=
' '
)
{ k++; }
k++;
BaseTest[z, 0] = BaseTest[z, 0].Remove(0, k);
// Жауаптағы бастапқы екі символды жою
for
(
int
x = 1; x <= 5; x++)
{BaseTest[z, x] = BaseTest[z, x].Remove(0, 2);
} }
// Файлдан тестті жүктеу
private
void
LoadTest()
{
int
i = 0;
FileStream
fs =
new
FileStream
(
"test.txt"
,
FileMode
.Open,
FileAccess
.Read);
StreamReader
sr =
new
StreamReader
(fs);
while
(sr.Peek() > 0)
{
for
(
int
j = 0; j <= 5; j++)
{ BaseTest[i, j] = sr.ReadLine();
}
// функцияға массив жолдарының номерін береміз
Del(i); i++; }
sr.Close();
count = i;
Form2
f2 = (
Form2
)
this
.Owner;
LastName = f2.GetLastName();
FirstName = f2.GetFirstName();
SecondName = f2.GetSecondName();
Group = f2.GetGroup();
Spec = f2.GetSpec(); }
// ListNum массивінде бұрын қайталанбаған кездейсоқ санды анықтаймыз
private
bool
Way(
int
n,
int
k)
C# программалау тілі. Ерекешева М.М.
{
bool
f; f =
true
;
for
(
int
z = 0; z <= n; z++)
{
if
(ListNum[z] == k)
f =
false
; }
if
(f==
true
)
{
return
true
;
}
else
{
return
false
; } }
// 25 кездейсоқ санды анықтап бұл сандармен ListNum массивін толтырамыз
private
void
SortQuestion()
{
int
l = 0;
Random
r =
new
Random
();
for
(
int
i = 0; i <= 24; i++)
{
do
{ l = r.Next(0, count);}
while
(!Way(i, l));
ListNum[i] = l; }
l = 0; }
// Сұрақ жауаптарын кездейсоқ араластырып экранға шығару
private
void
ViewAnswer(
int
z,
int
h)
{lblQuestion.Text = BaseTest[ListNum[h], 0];
switch
(z.ToString())
{
case
"1"
:
rbtA1.Text = BaseTest[ListNum[h], 3];
rbtA2.Text = BaseTest[ListNum[h], 4];
rbtA3.Text = BaseTest[ListNum[h], 1];
rbtA4.Text = BaseTest[ListNum[h], 2];
rbtA5.Text = BaseTest[ListNum[h], 5];
break
;
case
"2"
:
rbtA1.Text = BaseTest[ListNum[h], 3];
rbtA2.Text = BaseTest[ListNum[h], 1];
rbtA3.Text = BaseTest[ListNum[h], 4];
rbtA4.Text = BaseTest[ListNum[h], 2];
rbtA5.Text = BaseTest[ListNum[h], 5];
break
;
case
"3"
:
rbtA1.Text = BaseTest[ListNum[h], 1];
rbtA2.Text = BaseTest[ListNum[h], 3];
rbtA3.Text = BaseTest[ListNum[h], 5];
rbtA4.Text = BaseTest[ListNum[h], 4];
rbtA5.Text = BaseTest[ListNum[h], 2];
break
;
case
"4"
:
rbtA1.Text = BaseTest[ListNum[h], 1];
rbtA2.Text = BaseTest[ListNum[h], 2];
rbtA3.Text = BaseTest[ListNum[h], 3];
rbtA4.Text = BaseTest[ListNum[h], 4];
C# программалау тілі. Ерекешева М.М.
rbtA5.Text = BaseTest[ListNum[h], 5];
break
;
case
"5"
:
rbtA1.Text = BaseTest[ListNum[h], 5];
rbtA2.Text = BaseTest[ListNum[h], 3];
rbtA3.Text = BaseTest[ListNum[h], 2];
rbtA4.Text = BaseTest[ListNum[h], 4];
rbtA5.Text = BaseTest[ListNum[h], 1];
break
; } }
// TrueAnswer массивін дұрыс жауаптармен толтырамыз
private
void
SortAnswer(
int
i)
{
Random
r =
new
Random
();
int
l = r.Next(1, 5);
TrueAnswer[i] = BaseTest[ListNum[i], 1];
ViewAnswer(l,i);}
public
string
GetLastName()
{
return
LastName;
}
public
string
GetFirstName()
{
return
FirstName;
}
public
string
GetSecondName()
{
return
SecondName;
}
public
string
GetGroup()
{
return
Group;
}
public
string
GetSpec()
{
return
Spec;
}
public
int
GetTA()
{
return
ta;}
private
void
Form3_Load(
object
sender,
EventArgs
e)
{ // форманың Load оқиғасы
LoadTest(); SortQuestion();
SortAnswer(q);
for
(
int
i = 0; i <= 24; i++)
{ mass[i] =
""
;
} }
private
void
Form3_FormClosed(
object
sender,
FormClosedEventArgs
e)
{
Application
.Exit();
}
// Қолданушы жауабын тексеру
private
void
CheekTrue(){
if
(rbtA1.Checked & rbtA1.Text == TrueAnswer[q])
{ ta++; }
if
(rbtA2.Checked & rbtA2.Text == TrueAnswer[q])
{ ta++;}
C# программалау тілі. Ерекешева М.М.
if
(rbtA3.Checked & rbtA3.Text == TrueAnswer[q])
{ta++; }
if
(rbtA4.Checked & rbtA4.Text == TrueAnswer[q])
{ta++; }
if
(rbtA5.Checked & rbtA5.Text == TrueAnswer[q])
{ta++; }}
//Келесі сұраққа кӛшу
private
void
btnNext_Click(
object
sender,
EventArgs
e)
{
if
(q == 25)
{ Validation();
f4.Show(
this
);
this
.Hide(); }
else
{
if
(rbtA1.Checked) AnswerS[q] = rbtA1.Text;
if
(rbtA2.Checked)
AnswerS[q] = rbtA2.Text;
if
(rbtA3.Checked)
AnswerS[q] = rbtA3.Text;
if
(rbtA4.Checked)
AnswerS[q] = rbtA4.Text;
if
(rbtA5.Checked)
AnswerS[q] = rbtA5.Text;
if
(mass[q] ==
""
)
{
if
(rbtA1.Checked)
{ mass[q] = rbtA1.Text; }
if
(rbtA2.Checked)
{ mass[q] = rbtA2.Text; }
if
(rbtA3.Checked)
{ mass[q] = rbtA3.Text; }
if
(rbtA4.Checked)
{ mass[q] = rbtA4.Text;}
if
(rbtA5.Checked)
{ mass[q] = rbtA5.Text;} }
if
(q <= 24 & q >= 0) q++;
if
(q >= 0 & q <= 24)
{lblCount.Text = (q + 1).ToString() +
"."
;
SortAnswer(q); } a++;
if
(q == 24)
{ btnNext.Text =
"Тестті аяқтау"
;}
//----------------------------
rbtA1.Checked =
false
;
rbtA2.Checked =
false
;
rbtA3.Checked =
false
;
rbtA4.Checked =
false
;
rbtA5.Checked =
false
;
if
(q <= 24)
{
if
(mass[q] !=
""
)
{
if
(rbtA1.Text == mass[q])
{rbtA1.Checked =
true
;}
if
(rbtA2.Text == mass[q])
C# программалау тілі. Ерекешева М.М.
{ rbtA2.Checked =
true
;}
if
(rbtA3.Text == mass[q])
{rbtA3.Checked =
true
;}
if
(rbtA4.Text == mass[q])
{rbtA4.Checked =
true
; }
if
(rbtA5.Text == mass[q])
{ rbtA5.Checked =
true
; } } } } }
// Алдыңғы сұраққа қайта оралу
private
void
btnPred_Click(
object
sender,
EventArgs
e)
{
if
(q <= 24)
{
if
(rbtA1.Checked)
AnswerS[q] = rbtA1.Text;
if
(rbtA2.Checked)
AnswerS[q] = rbtA2.Text;
if
(rbtA3.Checked)
AnswerS[q] = rbtA3.Text;
if
(rbtA4.Checked)
AnswerS[q] = rbtA4.Text;
if
(rbtA5.Checked)
AnswerS[q] = rbtA5.Text;
if
(mass[q] ==
""
)
{
if
(rbtA1.Checked)
{ mass[q] = rbtA1.Text; }
if
(rbtA2.Checked)
{ mass[q] = rbtA2.Text;}
if
(rbtA3.Checked)
{ mass[q] = rbtA3.Text;}
if
(rbtA4.Checked)
{ mass[q] = rbtA4.Text;}
if
(rbtA5.Checked)
{ mass[q] = rbtA5.Text; } }}
if
(q <= 24 & q >= 0)
//CheekTrue();
q--;
if
(q >= 0 & q <= 24)
{lblCount.Text = (q + 1).ToString() +
"."
;
SortAnswer(q); } a--;
if
(q == 24)
btnNext.Text =
"Тестті аяқтау"
;
//------------------------------
if
(q == 25)
{ f4.Show(
this
);
this
.Hide();}
rbtA1.Checked =
false
;
rbtA2.Checked =
false
;
rbtA3.Checked =
false
;
rbtA4.Checked =
false
;
rbtA5.Checked =
false;
if
(q <= 24)
{
if
(mass[q] !=
""
)
C# программалау тілі. Ерекешева М.М.
{
if
(rbtA1.Text == mass[q])
{rbtA1.Checked =
true
;}
if
(rbtA2.Text == mass[q])
{ rbtA2.Checked =
true
;}
if
(rbtA3.Text == mass[q])
{rbtA3.Checked =
true
; }
if
(rbtA4.Text == mass[q])
{ rbtA4.Checked =
true
;}
if
(rbtA5.Text == mass[q])
{rbtA5.Checked =
true
;} } } }
private
void
Validation()
{
for
(
int
i = 0; i <= 24; i++)
{
if
(AnswerS[i] == TrueAnswer[i])
ta++; }}
private
void
Form3_Shown(
object
sender,
EventArgs
e)
{ rbtA1.Checked =
false
;
rbtA2.Checked =
false
;
rbtA3.Checked =
false
;
rbtA4.Checked =
false
;
rbtA5.Checked =
false
; }
Бұл формада «тестті аяқтау» кнопкасын таңдасақ тестілеу жүйесі аяқталып тӛртінші
форма, яғни нәтижелер бейнеленген форма жүктеледі. Форма үлгісі 36 суретте
кӛрсетілген.
36 сурет. Тестілеу нәтижесі
Программа коды:
private
void
Form4_Load(
object
sender,
EventArgs
e)
{
Form3
f3 = (
Form3
)
this
.Owner;
lblLastName.Text =
"Тегі: "
+ f3.GetLastName();
lblFirstName.Text =
"Аты: "
+ f3.GetFirstName();
lblSecondName.Text =
"Әкесінің аты: "
+ f3.GetSecondName();
C# программалау тілі. Ерекешева М.М.
lblGroup.Text =
"Тобы: "
+ f3.GetGroup();
lblSpec.Text =
"Мамандығы: "
+ f3.GetSpec();
lblScope.Text =
"Балл саны"
+f3.GetTA().ToString();
}
private
void
btnExit_Click(
object
sender,
EventArgs
e)
{
Application
.Exit(); }
private
void
Form4_FormClosed(
object
sender,
FormClosedEventArgs
e)
{
Application
.Exit(); } } }
Достарыңызбен бөлісу: |