Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/83: Рейтинг темы: голосов - 83, средняя оценка - 4.67
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414

Как написать программу тестирования

10.08.2010, 16:43. Показов 15736. Ответов 62

Студворк — интернет-сервис помощи студентам
Добрый день! Решил писать тестер:учитель дал интересную задачку, но вот не как не могу разобраться! интерфейс уже сделал. На форме лежит Panel, а на панели Label(для вывода вопроса на экран), RadioButton(для ответа "да", "нет") и отдельно всего выше перечисленного кнопка "Следующий вопрос"(для переключения на след вопрос). Теперь вопрос:как написать код чтобы всё работало, но при этом надо чтобы без выбранного ответа да нет была кнопка" Следующий вопрос" отключена и на ответ да присваивалось значение "+", а для нет знач "-". и чтобы можно было выгрузить это на другую форму в компонент Memo. Для меня главное чтобы бы реально действенный, рабочий код, а как его сделать напишите и с помощью каких команд или файлов(.cpp, юрб и т.д.). Заранее спасибо Если кто то решал уже подобную задачу то киньте ссылку пожалуйста, буду сильно благодарен
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2010, 16:43
Ответы с готовыми решениями:

Объединить программу тестирования и программу создания тестов
Ребят нужна помощь у меня 2 программы одна для тестирования, другая для создания тестов. Нужно сделать так чтобы в интерфейсе где...

Написать программу тестирования с возможностью редактирования тестов
Всем привет. Есть такой вопрос: нужно сделать тест (тестов может быть много) , этот тест должен хранится либо в файле, либо в БД. При всем...

Как написать программу для тестирования?
Как написать программу для тестирования. в программе должно быть 20 вопросов по 4 варианта ответа. Я новичок в программировании ...

62
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 16:53
Заводишь глобальную переменную и в зависимости от ответа инкрименируешь её или дикриминируешь её. Ну а вконце выводишь результат.
А чтобы кнопка была не активной у неё есть свойство Enable.

Или ещё лучше объявляешь её в классе и инкриминируешь или дикрименируешь.
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:07  [ТС]
нет сам смысл то мне понятен! у меня просто сложность в том как сделать вывод вопросов(ну предположим 58 штук в поле Label ) и затем выбор ответа, да и как обнулять группу RadioButton. покажи мне пожалуйста это на примере кода. мне так легче
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:15
Обнулять вот так


C++
1
RadioButton1->Checked = false;
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:16  [ТС]
а все вопросы мне сразу в коде прописывать? при определении массива в котором будут храниться вопросы или же есть другой способ
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:22
Цитата Сообщение от crashc Посмотреть сообщение
а все вопросы мне сразу в коде прописывать? при определении массива в котором будут храниться вопросы или же есть другой способ
Да ты прав вопросы тебе надо в массиве описывать, к сожалению у меня с массивами тудо, другого способа я не вижу

Только не мошу понять зачем ты на панель лейбл поместил, если можно это делать прям на панели (выводить твои вопросы)
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:23  [ТС]
не знал! просто что можно выводить сразу вопросы!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:26
Цитата Сообщение от crashc Посмотреть сообщение
не знал! просто что можно выводить сразу вопросы!
Понимаешь в чём дело в лейбле очень трудно текст выровнять по средине не смотря на то что в инспекторе объектов ставишь свойство по центру, а в панели вообще проблем с этим нет.
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:27  [ТС]
а теперь главный вопрос! в массиве: после нажатия клавиши "начать тест" у меня появляются вопросы, а другая клавиши их должна переключать. как сделать обращение из одного события в массив другого события? щас приведу код для ясности
0
10.08.2010, 17:33

Не по теме:


:scratch:

0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:34  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//это клавиша начать тест и отсюда запускаются вопросы и тут будет подсчет
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 const int size1=58;
 N=size1;
 const char *array[size1]={"","","","","","","","","",""};
for(int i=0;i<N;i++){
  Label1->Caption=array[i];
}
//это клавиша переключения вопроса
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 //вот тут я не знаю что написать чтобы обратиться в массив и переключить вопрос
}
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:39
Ты можешь просто с имитировать нажатие оной кнопки на другую таким способом
Если ты нажимаешь Button1 и тебе нужно с имитировать нажатие Button2, то код будет выглядеть таким способом.

В Button1 пишешь в событии онклик

C++
1
Button2Click(Sender);
Ну а в баттон 2 там твой массив с твоими вопросами.
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:44  [ТС]
вот смотри на Button1 у меня лежит массив вопросов и она же запускает тест! а Button2 должна переключить вопрос.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:49
Ты меня не понял.
Я тебе сказал с имитировать первый раз нажатие Button1 при помощи кнопки Button2, а потом ты будешь тупо нажимать сам кнопку Button1, а кнопку Button2 после первого раза сделаешь не активной.
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 17:51  [ТС]
т.е. Button2 у тебя тест запускает? я правильно понял... Напиши какая клавиша запускает у тебя тест, а какая переключает вопрос
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 17:55
Да ты понял правильно, потом сделаешь её не активной, и далее будешь пользоваться кнопкой Button2 , которая будет тебе переключать вопросы.
Почему у тебя в коде тело цикла for не закрыто?
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 18:00  [ТС]
не понял!!! а как мы тогда вопрос будем переключать нам же счетчик в массиве вопросов надо увеличить при помощи другой клавиши! если тебе не трудно напиши как это всё будет представлять в программном коде. и нажатие старта теста(в ней и массива), так и переключение вопроса
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 19:25
Ты меня запутал

Добавлено через 2 минуты
Ты когда одной кнопкой будешь переключать вопрос там же тебе надо инкреминировать или дикриминировать твою переменную в зависимости от правильности ответа
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
10.08.2010, 21:21  [ТС]
Sasha щас я напишу код который получился и при этом коде прога зависает или же сразу 58 вопрос стал появляться!
C++
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
//кнопка запуска теста и массива
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 const int size1=58;
 N=size1;
 const char *array[size1]={
 "1. Трудно ли тебе держаться на одном уровне со всем классом?",
 "2. Волнуешься ли ты, когда учитель говорит, что собирается проверить, насколько ты знаешь материал?",
 "3. Трудно ли тебе работать в классе так, как этого хочет учитель?",
 "4. Снится ли тебе временами, что учитель в ярости от того, что ты не знаешь урок?",
 "5. Случалось ли, что кто-нибудь из твоего класса бил или ударял тебя",
...
"58. Дрожит ли слегка твоя рука, когда учитель просит сделать задание на доске перед всем классом?"
 };
ShowMessage("Проверьте клавиши Caps Lock и Язык ввода языка!");
 PasswordDlg->ShowModal();
   if(PasswordDlg->Tag==1){
  Form1->BorderStyle=bsSizeable;
  Form1->Constraints->MinHeight=600;
  Form1->Constraints->MinWidth=800;
  Form1->Constraints->MaxHeight=0;
  Form1->Constraints->MaxWidth=0;
   Button2->Visible=False;
 N6->Visible=True;
 N6->Enabled=False;
 N2->Visible=True;
 N1->Visible=True;
 N2->Visible=True;
 N3->Visible=True;
 N5->Visible=True;
Panel1->Visible=True;
   Button1->Visible=True;
   Button3->Visible=False;
 ShowMessage("Внимание тест в бета версии не имеет клавиши возврата к предыдущему вопросу");
for(int i=0;i<N;i++){
   Label1->Caption=array[i];
}
//кнопка переключения вопроса
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 i++;
}
 
прошу исправь текст в том месте где он не верен:)
Добавлено через 59 минут
всё с задачей переключения я справился(код исправлен)! теперь всё переключается, но программу нельзя завершить в любой момент(после нажатия кнопки "Следующий вопрос" это можно сделать только через Диспетчер задач или кнопку Reset в CodeGear-е
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.08.2010, 21:48
Ну естественно он не верен, ты потерял 2 закрывающиеся скобки тела цикла и тела условия

Добавлено через 4 минуты
Кстати массив та ты закрыл фигурной скобкой, а почему остальное не хочешь закрывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2010, 21:48
Помогаю со студенческими работами здесь

Как написать программу для тестирования знаний
Система тестирования знаний. Дан текстовый файл с вопросами и верными ответами. Ввести Ф.И.О тестируемого(или выбрать из готового...

Как написать программу тестирования, где вопросы и ответы хранятся в MSSQL SERVER2008R2
Как написать про-му тестирования на ASP.NET (C#) MSSQL SERVER2008R2-база данных с вопросами и ответами,?

Написать программу тестирования
Всем привет.Задумал написать программу для тестирования , хотел бы кое-что узнать: -Есть ли какие-нибудь гайды,faq или прочее? -С чего...

Написать программу тестирования
Ребят помогите плиз!!!!! нужна программа... так чтобы не первой странице было название школы название работы чья работа и внизу &quot;для...

Написать программу тестирования
Помогите пожалуйста написать программу, точнее тест из 10-20 вопросов. при работе она должна выбрать случайным образом 5 вопросов,без...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru