|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.10.2007, 12:39 | #1 |
Пользователь
Регистрация: 20.10.2007
Сообщений: 28
|
Попал в тупик при создании теста
помогите пожалуйста! создал тест который берет вопросы с текстового файла. стал делать другой и попал в тупик! в 7-ом вопросе написан вопрос а ниже : если вы ответите да то переходите к 10вопросу. и как мне сделать что бы если я нажал да то появился 10й вопрос а если нет то продолжался 8,9 и т.д.... подскажите как...уже надо в среду сдавать эти тесты! очень прошу ПОМОГИТЕ
|
21.10.2007, 12:50 | #2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
тупо пропусти два считанных из файла вопроса. В чем трабл-то? =)
Познавая других, мы познаем себя.
С'est la vie... |
21.10.2007, 13:47 | #3 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
используй метку. и оператор безусловного перехода.
I like WPF
|
21.10.2007, 14:59 | #4 |
Пользователь
Регистрация: 20.10.2007
Сообщений: 28
|
|
21.10.2007, 15:11 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
А как мы напишем?
Ваш код в студию! (мы не телепаты, я могу спокойно написать так: if varOtvet = 2 then Nextvopros := 10; и всё!) |
21.10.2007, 16:46 | #6 |
Пользователь
Регистрация: 20.10.2007
Сообщений: 28
|
я первый тест делал вот так! но думаю что в таком коде нельзя сделать перескок через вопросы! я прав? тут на этом сайте нашел тест в котором забиты вопросы в форму! если не сможете в моём коде подсказать как сделайть перескок, сделайте перескок во вложенном тесте с любово вопроса на любой!
unit TestUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, UserID; type TForm1 = class(TForm) RadioGroup1: TRadioGroup; GroupBox1: TGroupBox; BitBtn1: TBitBtn; 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; five, four, three, ans1mark, ans2mark : 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>=five then result:='относитесь к группе "Автономных" '; if (balls>=four)and(balls<five) then result:='являетесь средним типом между автономными и зависимыми '; if (balls<=three) then result:='относитесь к группе "Зависимых" '; 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); Form1.Label1.Caption:=question; Form1.RadioGroup1.Items[0]:=answere1; Form1.RadioGroup1.Items[1]:=answere2; 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; 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,five); Readln(q_file,four); Readln(q_file,three); 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. |
22.10.2007, 08:18 | #7 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Слушай, код хоть и не идеален, но способен жить. Попробуй завести счетчик, который будет считать, какой вопрос сейчас идет и в зависимости от того, нужно будет тебе перескакивать через вопросы или нет, будешь наращивать переменную, которая будет повторять процедуру Read_next_q до определенного момента.
Познавая других, мы познаем себя.
С'est la vie... |
22.10.2007, 11:52 | #8 |
Пользователь
Регистрация: 20.10.2007
Сообщений: 28
|
Понял... попробувал...не смог сделать.. вообще ниче не получается подскажите как написать этот код....пжлста!
|
22.10.2007, 12:21 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Нда с таким подходом, извини, двойку тебе нуна по ИТ...
Чегоб не засунуть вопросы в файл и не считывать их оттуда по порядку? Или вы это еще не проходили?... У тебя на каждый вопрос своя кнопка. так не поленись сделать еще одну кнопку "Да" которая б появлялась на седьмом вопросе. По нажатию которой бы вызывалась соответствующая процедура кнопки "Далее" для 10-го вопроса.
I'm learning to live...
|
23.10.2007, 00:50 | #10 |
Новичок
Джуниор
Регистрация: 23.10.2007
Сообщений: 2
|
млин код писать лень, но я постораюсь обьяснить доступно(я бы зделал так): для каждого вопроса создать радиогруп и OnChange()'м делать доступными соответствующие по смыслу вопросы(ну например ответил на первый -> доступен второй и т.д., и проверяй на 7ом вопросе ответ и делай доступными либо блокируй вопросы 8 и 9), и конечно желательно текстом пояснить что ппри таком то условии вопросы 8 и 9 не нужны
Последний раз редактировалось capslock; 23.10.2007 в 00:54. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен исходник прогаммы-теста | Jurej_Red | Софт | 7 | 16.02.2011 19:57 |
Блин,пацаны помогите,нужна помощь,попал в тяжёлую ситуацию!!! | steck | Свободное общение | 4 | 26.05.2007 08:28 |