24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414

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

10.08.2010, 16:43. Показов 16152. Ответов 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
12.08.2010, 09:53
Студворк — интернет-сервис помощи студентам
А как ты сделал шаблон? Покажи код
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
12.08.2010, 09:59  [ТС]
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const char *template_ans[size1]={
 "-",  //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
 };
так как я вывожу результат в окно Memo на другой форме я и ответы пользователя сделал тоже в массиве строк, также как и шаблон
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.08.2010, 10:07
Честно говоря, я в шоке...
Вот это шаблон
Вы никогда не думали о структурированных записях?
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
12.08.2010, 10:10  [ТС]
вы имеете ввиду в строчку писать?

Добавлено через 2 минуты
или что вы имели ввиду я не понял
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.08.2010, 10:13
MikeSoft, поясни не разумным людям о структурированных записях в том числе и мне
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.08.2010, 10:14
crashc, я имею в виду то, что вопросы должны хранится в файле в структурированном виде.
К примеру:

C++
1
2
3
4
5
struct Question {
  char qStr[256];  // хранение самого вопроса
  char qAnsw[32][4]; // хранение 4-х ответов
  unsigned short qCorr; // номер правильного ответа
}
Записываете все вопросы в файл ... а при запуске программы считываете столько, сколько нужно.
Так будет проще организовывать добавление новых вопросов, рандомайзер вопросов и т.д.
Да и программа приобретёт хоть какую-то модульность...
2
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
12.08.2010, 10:20  [ТС]
блин мне уже не успеть переработать эту программу помогите пока на этой стадии, а позже я её переделаю на модульный уровень. помоги в том как сравнить ответы пользователя с шаблонами только в нужных мне вопросах например 2,5,9,35,42 при этом в одну и ту же переменную. Буду сильно благодарен, а после отдыха я с великим удовольствием перепишу программу
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
12.08.2010, 10:27
crashc, кстати, чтение и запись структур из/в файл я объяснял вот здесь: Структуры и файловый поток

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

Не по теме:

Сейчас занят чисткой рабочего ноутбука, а позже смогу помочь в реализации...

1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
13.08.2010, 10:07  [ТС]
ну сегодня завтра надо закончить! мне всего то осталось написать сравнение ответов пользователя с шаблоном

Добавлено через 26 минут
а переписать то долго будет программу или же нет?

Добавлено через 23 часа 11 минут
MikeSoft, добрый день. Подскажи как мне создать и использовать библиотеку, чтобы можно было туда засунуть вопросы и способ обработки вопросов. ну думаю что-то на подобии DLL или есть что-то лучше?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.08.2010, 12:52
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от crashc Посмотреть сообщение
Подскажи как мне создать и использовать библиотеку
Недавно я написал целую статью по этому поводу.
Советую почитать. Поможет разобраться: Dynamic-Link Library: Теория + Практика

Цитата Сообщение от crashc Посмотреть сообщение
а переписать то долго будет программу или же нет?
Как и обещал, написал вам подобный модуль тестирования.
На полное написание программы у меня ушло около 30-40 минут.

Я написал данную программу с нуля, для того, чтобы показать вам как работать со структурами, как удерживать форму на "поверхности" Z-оси, подсчёта правильных ответов. Также, в вы найдёте утилиту QuestionWriter, которая облегчит создание "БД Вопросов".

В этой программе я не реализовывал мега-дизайн, не реализовывал шифрование файла с вопросами. Если хотите - доделайте, это не так сложно как кажется.

Скачать >> TestingProgramm.rar
7
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
13.08.2010, 13:13  [ТС]
Огромное спасибо MikeSoft

Добавлено через 4 минуты
А вопрос: можно ли будет засунуть в одну библиотеку и вопросы, и шаблоны ответов, и способы вывода результата? да и какой способ загрузки посоветуешь при этом явный или не явный?!
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.08.2010, 13:27
crashc, я не понимаю, зачем вам DLL для хранения вопросов?
Ну допустим сделали вы библиотеку ... наполнили вопросами...
А дальше что? Перекомпилировать её постоянно при добавлении новых вопросов?

Я же не зря написал вам данный тестер с нуля. Посмотрите, как организована работа с файлом. Добавьте шифрование, измените дизайн - и готово! Тем более, если вы заметили, всё основано на одной форме и паре компонентов.
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
13.08.2010, 13:30  [ТС]
MikeSoft, а если у меня уже есть тесты, которые я хочу забить в файл, только подсчет данных по вопросам ведется везде по разному, то тут как быть с вашим тестером? мне DLL не столько нужна как для хранения вопросов, как мне уже самому интересно стало, как сделать, так что можно будет выбирать различные тесты(соответственно различный подсчет по вопросам)?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.08.2010, 13:42
Цитата Сообщение от crashc Посмотреть сообщение
MikeSoft, а если у меня уже есть тесты, которые я хочу забить в файл, только подсчет данных по вопросам ведется везде по разному
Насколько я понял, вы имеете в виду то, что за каждый вопрос может начисляться определённое количество баллов?
Если да, то там дописать это всё - всего 5 минут дела!
Добавьте в структуру ещё одну переменную типа unsigned int.
Также в модуле, выполняющем добавление вопросов в базу нужно добавить ещё одну колонку в StringGrid.
А дальше смотрите как происходит работа с переменной Corr и выполняйте всё тоже самое.

При правильном ответе начисление баллов нужно сделать в этом участке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (ANum != Question.Corr) {
  String CorrA;
  switch (Question.Corr) {
    case 1: CorrA = Question.Answ1; break;
    case 2: CorrA = Question.Answ2; break;
    case 3: CorrA = Question.Answ3; break;
    case 4: CorrA = Question.Answ4; break;
  default:
    CorrA = "Автор ошибся, правильного ответа нет...";
  }
  QLabel->Font->Color = clRed;
  QLabel->Caption = "Неправильно!\nПравильный ответ: " + CorrA;
} else {
  Correct++;
  // здесь необходимо суммировать баллы.
  CorrNum->Caption = "Правильных ответов: " + IntToStr(int(Correct));
  QLabel->Font->Color = clGreen;
  QLabel->Caption = "Правильно";
}
И привыкайте с чем-то новым экспериментировать в отдельном проекте, дабы не захламлять основой (это я о вашем стремлении разобраться с DLL).
1
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
13.08.2010, 14:39  [ТС]
нет немного не это! вот смотри дело в том что для каждого теста(тест по психологии) есть свой принцип подсчетов: одном нужно подсчитать совпадение с шаблоном ответов по фактору 1 вопросы под № 1, 5, 7, 9, 12. по фактору 2 вопросы под №2, 3, 4, 6, 15,; а в другом тесте мне надо подсчитать по другим факторам и вопросы будут стоять по-другому

Добавлено через 46 минут
А у меня мысль! нельзя ли сделать таким образом что мы будем подключать файлы (с различными названиями) и за название файла зацепить библиотеку подсчета( не обязательно DLL)!
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
13.08.2010, 16:30
Цитата Сообщение от crashc Посмотреть сообщение
а в другом тесте мне надо подсчитать по другим факторам и вопросы будут стоять по-другому
А можно пример
0
24 / 24 / 2
Регистрация: 26.07.2009
Сообщений: 414
13.08.2010, 16:42  [ТС]
пример смотри! одном нужно подсчитать совпадение с шаблоном ответов по фактору 1 вопросы под № 1, 5, 7, 9, 12. по фактору 2 вопросы под №2, 3, 4, 6, 15,; а в другом тесте мне надо подсчитать по фактору1 вопросы №6, 7, 8, 11, 12. Фактор 2 вопросы №1,2,3,4,5,9,10. ну это пример на самом деле разброс вопрос и числовое расстояние между ними бывает большое
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.08.2010, 17:48
crashc, да точно также ввести поля фактора и веса в структуру...

По поводу смещения по вопросам:
crashc, не нужно кода и так всё понятно!
Добавить две клавиши ("назад", "вперёд") и считывать из файла, от позиции индекса и смещению sizeof(Question).

Предлагаю вам хорошенько посмотреть ту программу, что я вам написал!
Там есть все ответы на ваши вопросы (заданные после опубликования исходников).
Подумайте над реализацией, всё просто.
2
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 17
09.05.2012, 00:48
crashc слушай, а ты не мог бы мне кинуть эту прогу просто оч нужно...

Добавлено через 5 минут
мне нужно простенький тест который считает количество правильных и не правильных ответов (киньте кто ссылку)
0
0 / 0 / 0
Регистрация: 13.05.2012
Сообщений: 4
13.05.2012, 18:40
Добавлено через 1 час 56 минут
Проблема решена самостоятельно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2012, 18:40

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

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

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

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

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


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

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

Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru