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

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

10.08.2010, 16:43. Показов 15602. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru