C# программалау тілі зертханалық жұмыс №1 Сызықтық программалар



Pdf көрінісі
бет21/26
Дата04.11.2023
өлшемі1,95 Mb.
#189316
түріПрограмма
1   ...   18   19   20   21   22   23   24   25   26
Байланысты:
С# programmalau111


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; } 
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]; 
// Кездейсоқ қайталанбайтын жауап номерлерін сақтайтын массив
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) 
{
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]; 
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++;} 
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]) 
{ 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] != 
""


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(); 
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(); } } } 


Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   26




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет