Консультация № 175380
17.12.2009, 13:26
35.00 руб.
0 17 0
Уважаемые эксперты, как сделать в форме тест из 5 вопросов с 4 ответами(один из которых правильный)так, чтобы вопросы открывались в случайном порядке из файла. А ввод ответов, осуществлялся пользователем через radiobutton. В конце необходимо вывести результаты в файл.

(использую Windows Forms Application - Visual C++ )

Обсуждение

давно
Профессор
230118
3054
17.12.2009, 18:42
общий
Biathlonfan:
а файл с вопросами есть?
Неизвестный
17.12.2009, 18:57
общий
Вот :)http://www.sharemania.ru/0221046
Неизвестный
17.12.2009, 19:21
общий
Biathlonfan:
Хотелось бы увидеть как организовано хранение вопросов и ответов на них, дабы не гадать.
Неизвестный
19.12.2009, 19:58
общий
Grigory:
Идет вопрос, в след строке 1 вариант ответа, в след 2 вариант и так далее.
Как можно считывать варианты ответа в radioButton?
Неизвестный
20.12.2009, 04:42
общий
У радио кнопок есть 2 свойства: value и text -- вот и присваиваете текст ответа соответствующей радио кнопке для каждого ответа.
Неизвестный
20.12.2009, 17:28
общий
к сожаленью, в window application forms visual studuio 2008 свойства value нет.
у меня вопросы и ответы выбираются случайным образом из текстового файла, как узнать потом верный ли ответ нажат?ведь не будут же ответы под одним номером может есть какие это спец обозначения для radiobutton в текстовом файле?
давно
Профессор
230118
3054
20.12.2009, 17:38
общий
Biathlonfan:
Программа запоминает, какой ответ правильный. Потом проверяете, какой radiobutton выбран, и считаете количество правильных ответов. Все radiobutton в форме должны быть собраны в группы.


Неизвестный
20.12.2009, 17:44
общий
Как это программа запоминает?можно пример?
давно
Профессор
230118
3054
20.12.2009, 17:49
общий
Когда читаете вопросы из файла, номер правильного ответа записываете в массив.
Неизвестный
20.12.2009, 17:58
общий
Как это реализовать?
Код:

richTextBox1-> LoadFile("вопросы.txt",RichTextBoxStreamType::PlainText); //открываю файл с вопросами и ответами
richTextBox1->Text = richTextBox1->Lines[n-1];//выбираю строку случайную строку n
radioButton1->Text=richTextBox1->Lines[n];//заполняю тектовые поля у radioButton
radioButton2->Text=richTextBox1->Lines[n+1];
radioButton3->Text=richTextBox1->Lines[n+2];
radioButton4->Text=richTextBox1->Lines[n+3];

что дальше?
давно
Профессор
230118
3054
20.12.2009, 18:03
общий
Biathlonfan:
Я, конечно, могу написать программу целиком, но не хватает времени. Пока форма готова.
давно
Профессор
230118
3054
20.12.2009, 18:08
общий
Biathlonfan:
Случайная строка совсем не обязательно будет содержать текст вопроса.
Неизвестный
20.12.2009, 18:15
общий
до того кода, есть еще :-)что-то намутилось))
Код:
richTextBox1->LoadFile("от.txt",RichTextBoxStreamType::PlainText);  //файл "от" cодержит числа 1,6,11...и так до 46, т.е номера строк, которым соответствуют вопросы
g = random->Next(richTextBox1->Lines->Length);//выбираю случайное строку
richTextBox1->Text = richTextBox1->Lines[g];
n=Int32::Parse(richTextBox1->Text);//преобразую в число и затем уже эта строка открывается с вопросом
давно
Профессор
230118
3054
20.12.2009, 18:16
общий
В файле в конце правильного ответа написано (правильный ответ). Этот текст надо найти и вырезать, и только после этого вставлять в radiobutton. А то это будет шпаргалка для тестируемого.
Неизвестный
20.12.2009, 18:18
общий
это так, чтобы не запутаться
давно
Профессор
230118
3054
20.12.2009, 18:19
общий
Biathlonfan:
Зачем? Ведь очевидно, что это числа 1+5n. Их можно вычислить. Случайно выбираете номер ответа от 1 до 10. Проверка, не повторился ли вопрос. Потом читаете строку 1+5n.
Неизвестный
20.12.2009, 18:22
общий
согласен, но мне главное с ответами разобраться
Форма ответа