| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Подбросте идею |
| Автор: Coocky 27.3.2004, 22:18 |
| Дали на курсовую тему:написать прогу,для разработки тестов.Может есть у кого идеи,как сделать(только код не надо давать |
| Автор: mr.DUDA 27.3.2004, 23:05 |
| Простой вариант, без геморроя: - главное окно на базе диалога, сверху вопрос, ниже - варианты ответов в виде радиобатонов, можно картинку над вопросом выводить; ещё ниже можно приводить статистику (сколько вопросов всего, сколько было уже задано, сколько времени прошло и осталось, ФИО и т.п.) - вопросы и варианты ответов хранить в текстовом файле(-ах), правильные ответы - в отдельном файле, в заXORенном виде - картинки (если есть) - в той же папке, где и текстовики с вопросами, в виде обычных BMP'шек Для слежения за временем и обновлением его на диалоге, можно завести обработку WM_TIMER, а можно сделать отдельный поток. Радиобатоны (или чекбоксы) создавать динамически, по содержимому текстовых файлов с вопросами; обработку вести с пом. ON_COMMAND_RANGE. |
| Автор: PILOT 27.3.2004, 23:10 |
| Тест это значит что ест варианты ответов. Создаешь структуру данных в которой есть: вопрос ответ 1 ответ 2 ответ 3 ответ 4 ответ 5 номер правильного ответа Типы данных выбираешь из зравого смысла и объема текстов. Эту структуру помещаешь в массив и сохраняешь на диске в нужном формате. Программа вытаскивает структуру и выводит на экран предлагая пользователю отметить правильный ответ и нажать кнопку "дальше". Когда данных в файле с вопросами больше нет, программа выводит результаты совпадений ответов пользователя с правильными ответами. В зависимости от этого выставляет оценку или выводит статистику в файл( рпинтер)... СУВ. ЗЫ. Про ввод начальных данный, выбор типа теста, времени теста и т.д. ты сам реши... Добавлено @ 23:11 Ну вот пока отвечаешь тут уже куча ответов... |
| Автор: Coocky 29.3.2004, 19:22 |
| Я вообще -то думал прогу составить в виде редактора,с котором пользователь может составлять тесты,которые,потом,может использовать,как отдельную прогу.Так вот вопросы был,типа,какой можно придумать интерфейс,какие виды тестов можно составлять,в каком формате сохранять.Ну вообщем,захотел кто-нибудь для кого-нибудь тесты составить,открыл прогу и сделал.Почему совета прошу?Да просто боюсь всего не предусмотреть |
| Автор: mr.DUDA 29.3.2004, 20:05 | ||||
1) интерфейс - простой, в виде окна диалога с кнопками: - список вопросов - добавить вопрос - редактировать вопрос - удалить вопрос - сохранить тест - открыть тест - а также текстовые поля, определяющие: а) количество времени на ответы, в секундах б) количество правильных ответов на оценку "5" в) то же самое для оценок "4" и ниже При клике на "добавить вопрос" появляется другой диалог с Rich Edit-ом, где можно ввести текст вопроса, а также поле Edit с количеством ответов, а также тип правильного ответа (единственный, множественный) и кнопка Ок. При клике на Ок, появляется третий диалог с N полями Edit, в которых можно ввести варианты ответа. Слева от каждого Edit-а находится радиобатон (если правильный ответ - единственный) или чекбокс (если правильный ответ может быть множественным, т.е. на вопрос можно ответить сразу несколькими ответами, и они будут правильными). При заполнении этого диалога, соотв. вопрос (краткая его формулировка) добавляется в список вопросов на главном диалоге. Чтобы отредактировать вопрос/ответы, нужно выделить вопрос в списке и нажать "редактировать вопрос". Чтобы удалить, нужно также выделить и нажать "удалить вопрос". 2) При нажатии на кнопку "сохранить вопрос", выводится CFileDialog, в котором предлагается сохранить тест на диск. При вводе имени файла и нажатии Ок, происходит выход из диалога с кодом IDOK, значит тест можно сохранить с выбранным именем файла. Сохраняем таким образом, для простоты:
Аналогично реализуем кнопку "загрузить тест". Объяснения нужны ? Или обойдёмся MSDN 3) Теперь самое интересное - как создаётся программа-тест. Для этого достаточно скомпилировать простую программу, которая будет грузить *.tst-файл и выводить по очереди вопросы/ответы. Чтобы в нашей проге можно было создать готовый дистрибутив теста, можно сделать следующее: - добавить в главный диалог кнопку "компилировать тест" - при нажатии на эту кнопку: а) открывать окно для сохранения файла, или лучше - для выбора директории б) когда юзер выберет директорию, куда следует компилировать тест, в) мы сохраняем файл *.tst в эту директорию, а также сохраняем туда программу, которая будет воспроизводить тест. Для того, чтобы создать такую программу, достаточно написать MFC-приложение, состоящее из одного окна диалога с контролами типа "static" (текущий вопрос), "static" (сколько времени осталось на тест), "button" (ответить на вопрос) и "button" (пропустить данный вопрос). Текст вопроса отображается вверху диалога, всё остальное - внизу. В средней части окна диалога мы динамически создаём радиобатоны или чекбоксы (в зависимости от того, единственный или множественный ответ существует на данный вопрос). При нажатии на кнопку "ответить" или "пропустить", соответственно, производится оценка выделенного радиобатона/чекбоксов, либо пропуск, и выставление оценки (при пропуске выставляется низшая оценка - например, 2 балла г) после последнего вопроса или по истечении времени, отведённого на тест, производится выставление оценки за тест. д) !!! для улучшения качества тестирования, следует задавать не все, а например только 50% вопросов, и "перемешивать" их порядок следования... Вот в принципе и всё. На выходе получается программа для тестирования и *.tst-файл с вопросами/ответами и настройками теста - готовый продукт, который можно запускать и юзать Если будут вопросы или пожелания - пиши... |
| Автор: Coocky 29.3.2004, 21:24 |
| Спасибо,mr.DUDA,(в который раз).Интересно.Осталось только написать |
| Автор: mr.DUDA 29.3.2004, 21:58 | ||
Coocky, а белорусским программерам значит прозябать |
| Автор: Coocky 30.3.2004, 19:38 |
| Прости,дружище,не думал,не гадал |