Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
AnastasiiaFF
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 6
1

Программа для тестирования

12.04.2017, 17:47. Просмотров 266. Ответов 5
Метки нет (Все метки)

Здравствуйте! У меня есть программа для тестирования, но там результат в оценках, типо по количеству баллов выводится отлично, хорошо и.т.д, можно ли как то сделать так, чтоб пользователь сам задавал эти значения, потому что в тестах на профориентацию результаты все разные, но их все можно привести в бальную форму. считывание тестов происходит из текстового файла, вводить вопросы можно вручную в блокноте или с помощью формы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2017, 17:47
Ответы с готовыми решениями:

Программа для тестирования
Здравствуйте! хочу написать программу для создания прохождения тестов. И...

Программа для тестирования
Всем привет. Подскажите как, сделать небольшую программку для тестирования,...

Программа для тестирования
Пишу программу для тестирования, есть форма, которая имеет свойста StayOnTop,...

Программа для тестирования
Здравствуйте! Проходил сегодня тестирование (программа-тестер) И для...

Программа для тестирования
Создать элементарную программу тестирования. Файл тестовых заданий должен иметь...

5
adsarc
33 / 33 / 23
Регистрация: 16.04.2013
Сообщений: 212
Завершенные тесты: 1
12.04.2017, 20:18 2
Сделать можно, просто нужно переделать. Дайте код программы
0
AnastasiiaFF
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 6
12.04.2017, 22:26  [ТС] 3
Вот вместо конвенциальный, предприимчивый и.т.д. нужно сделать, чтоб пользователь сам вводил что ему нужно.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
unit TestUnit;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, Buttons, ExtCtrls, UserID;
 
type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    XPManifest1: TXPManifest;
    Panel1: TPanel;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  balls : integer;
  q_file, Log_File : TextFile;
  reali, intel, social, conven, predpr, art,
  ans1mark, ans2mark, ans3mark, ans4mark : integer;
  question, answere1, answere2, answere3,
  answere4, tmp_q, result : string;
  flag_end, flag_write : boolean;
 
implementation
 
{$R *.dfm}
 
procedure Read_next_q();
var
  AYear, AMonth, ADay, Hour, Min, Sec, MSec: Word;
  Data : string;
begin
  if EOF(q_file) then
  begin
    flag_end := true;
    if balls>=conven then
      result:='Конвенциальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=predpr)and(balls<conven) then
      result:='Предприимчивый ('+IntToStr(balls)+' балла(ов))';
    if (balls>=intel)and(balls<predpr) then
      result:='Интеллектуальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=social)and(balls<intel) then
      result:='Социальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=reali)and(balls<social) then
      result:='Реалистичный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=art)and(balls<reali) then
      result:='Артистичный ('+IntToStr(balls)+' балла(ов))';
    showmessage('Ваш результат: '+#13#10+Result);
 
    DecodeDate(Now, AYear, AMonth, ADay);
    DecodeTime(Now, Hour, Min, Sec, MSec);
    Data:=IntToStr(AYear)+'/'+IntToStr(AMonth)+'/'+IntToStr(ADay)+' '+IntToStr(Hour)+':'+IntToStr(Min)+':'+IntToStr(Sec)+' ';
    writeln(Log_File, Data+Result+#13#10+#13#10);
    closeFile(Log_File);
 
    Form1.BitBtn1.Enabled:=false;
 
  end
  else
  begin
  Readln(q_file,tmp_q);
  question:=tmp_q+#13#10;
  Readln(q_file,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q_file,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q_file,answere1);
  Readln(q_file,ans1mark);
  Readln(q_file,answere2);
  Readln(q_file,ans2mark);
  Readln(q_file,answere3);
  Readln(q_file,ans3mark);
  Readln(q_file,answere4);
  Readln(q_file,ans4mark);
 
  Form1.Label1.Caption:=question;
  Form1.RadioGroup1.Items[0]:=answere1;
  Form1.RadioGroup1.Items[1]:=answere2;
  Form1.RadioGroup1.Items[2]:=answere3;
  Form1.RadioGroup1.Items[3]:=answere4;
  end;
end;
 
procedure check_ans();
begin
 
  if (Form1.RadioGroup1.ItemIndex=0)and(flag_end=false) then
     balls:=balls+ans1mark;
  if (Form1.RadioGroup1.ItemIndex=1)and(flag_end=false) then
     balls:=balls+ans2mark;
  if (Form1.RadioGroup1.ItemIndex=2)and(flag_end=false) then
     balls:=balls+ans3mark;
  if (Form1.RadioGroup1.ItemIndex=3)and(flag_end=false) then
     balls:=balls+ans4mark;
 
  Form1.RadioGroup1.ItemIndex:=-1;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Left:=Screen.Width+100;
  Form1.Top:=Screen.Height+100;
  flag_end:=false;
  AssignFile(q_file, 'q.txt');
  Reset(q_file);
  Readln(q_file,conven);
  Readln(q_file,predpr);
  Readln(q_file,intel);
  Readln(q_file,social);
  Readln(q_file,reali);
  Readln(q_file,art);
  Read_next_q;
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if Form1.RadioGroup1.ItemIndex<>-1 then
  begin
  check_ans;
  Read_next_q;
  end
  else
    showmessage('Выберите один из вариантов'+#13#10+'ответов и нажмите "Далее"!');
end;
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.Terminate;
end;
 
end.
0
AnastasiiaFF
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 6
20.04.2017, 16:12  [ТС] 4
adsarc, Вот вместо конвенциальный, предприимчивый и.т.д. нужно сделать, чтоб пользователь сам вводил что ему нужно.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, Buttons, ExtCtrls, Unit4;
 
type
  TForm3 = class(TForm)
    RadioGroup1: TRadioGroup;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    XPManifest1: TXPManifest;
    Panel1: TPanel;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
 
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
  balls : integer;
  q_file, Log_File : TextFile;
  reali, intel, social, conven, predpr, art,
  ans1mark, ans2mark, ans3mark, ans4mark : integer;
  question, answere1, answere2, answere3,
  answere4, tmp_q, result : string;
  flag_end, flag_write : boolean;
 
implementation
 
{$R *.dfm}
 
procedure Read_next_q();
var
  AYear, AMonth, ADay, Hour, Min, Sec, MSec: Word;
  Data : string;
begin
  if EOF(q_file) then
  begin
    flag_end := true;
    if balls>=conven then
      result:='Конвенциальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=predpr)and(balls<conven) then
      result:='Предприимчивый ('+IntToStr(balls)+' балла(ов))';
    if (balls>=intel)and(balls<predpr) then
      result:='Интеллектуальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=social)and(balls<intel) then
      result:='Социальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=reali)and(balls<social) then
      result:='Реалистичный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=art)and(balls<reali) then
      result:='Артистичный ('+IntToStr(balls)+' балла(ов))';
    showmessage('Ваш результат: '+#13#10+Result);
 
    DecodeDate(Now, AYear, AMonth, ADay);
    DecodeTime(Now, Hour, Min, Sec, MSec);
    Data:=IntToStr(AYear)+'/'+IntToStr(AMonth)+'/'+IntToStr(ADay)+' '+IntToStr(Hour)+':'+IntToStr(Min)+':'+IntToStr(Sec)+' ';
    writeln(Log_File, Data+Result+#13#10+#13#10);
    closeFile(Log_File);
 
    Form3.BitBtn1.Enabled:=false;
 
  end
  else
  begin
  Readln(q_file,tmp_q);
  question:=tmp_q+#13#10;
  Readln(q_file,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q_file,tmp_q);
  question:=question+tmp_q+#13#10;
  Readln(q_file,answere1);
  Readln(q_file,ans1mark);
  Readln(q_file,answere2);
  Readln(q_file,ans2mark);
  Readln(q_file,answere3);
  Readln(q_file,ans3mark);
  Readln(q_file,answere4);
  Readln(q_file,ans4mark);
 
  Form3.Label1.Caption:=question;
  Form3.RadioGroup1.Items[0]:=answere1;
  Form3.RadioGroup1.Items[1]:=answere2;
  Form3.RadioGroup1.Items[2]:=answere3;
  Form3.RadioGroup1.Items[3]:=answere4;
  end;
end;
 
procedure check_ans();
begin
 
  if (Form3.RadioGroup1.ItemIndex=0)and(flag_end=false) then
     balls:=balls+ans1mark;
  if (Form3.RadioGroup1.ItemIndex=1)and(flag_end=false) then
     balls:=balls+ans2mark;
  if (Form3.RadioGroup1.ItemIndex=2)and(flag_end=false) then
     balls:=balls+ans3mark;
  if (Form3.RadioGroup1.ItemIndex=3)and(flag_end=false) then
     balls:=balls+ans4mark;
 
  Form3.RadioGroup1.ItemIndex:=-1;
end;
 
procedure TForm3.FormCreate(Sender: TObject);
begin
  Form3.Left:=Screen.Width+100;
  Form3.Top:=Screen.Height+100;
  flag_end:=false;
  AssignFile(q_file, 'q.txt');
  Reset(q_file);
  Readln(q_file,conven);
  Readln(q_file,predpr);
  Readln(q_file,intel);
  Readln(q_file,social);
  Readln(q_file,reali);
  Readln(q_file,art);
  Read_next_q;
end;
 
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
  if Form3.RadioGroup1.ItemIndex<>-1 then
  begin
  check_ans;
  Read_next_q;
  end
  else
    showmessage('Выберите один из вариантов'+#13#10+'ответов и нажмите "Далее"!');
end;
 
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.Terminate;
end;
 
end.
0
adsarc
33 / 33 / 23
Регистрация: 16.04.2013
Сообщений: 212
Завершенные тесты: 1
21.04.2017, 00:01 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.Left:=Screen.Width+100;
Form3.Top:=Screen.Height+100;
flag_end:=false;
AssignFile(q_file, 'q.txt');
Reset(q_file);
Readln(q_file,conven);
Readln(q_file,predpr);
Readln(q_file,intel);
Readln(q_file,social);
Readln(q_file,reali);
Readln(q_file,art);
Read_next_q;
end;
Вот здесь считываются баллы для сравнения. Вам нужно чтобы эти баллы вносились пользователем в форме?
0
AnastasiiaFF
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 6
22.04.2017, 19:20  [ТС] 6
adsarc,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
flag_end := true;
    if balls>=conven then
      result:='Конвенциальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=predpr)and(balls<conven) then
      result:='Предприимчивый ('+IntToStr(balls)+' балла(ов))';
    if (balls>=intel)and(balls<predpr) then
      result:='Интеллектуальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=social)and(balls<intel) then
      result:='Социальный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=reali)and(balls<social) then
      result:='Реалистичный ('+IntToStr(balls)+' балла(ов))';
    if (balls>=art)and(balls<reali) then
      result:='Артистичный ('+IntToStr(balls)+' балла(ов))';
нужно, чтоб пользователь вводил те значения на форме, которые соответствуют этим баллам, то есть не артистичный, реаличтичный и.т.д., а в зависимости от определенного теста.
0
22.04.2017, 19:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2017, 19:20

Программа для тестирования
Здравствуйте. У меня тема программы &quot;Тестирование по теме множества&quot;. Все...

Программа для тестирования на Delphi
Здравствуйте! По заданию пишу программу для тестирования, уже, вроде, почти...

Программа для тестирования аппаратного обеспечения
Здраствуйте. Очень нужна помощь. Делаю курсовую с программирования на тему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru