![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Дали на курсовую тему:написать прогу,для разработки тестов.Может есть у кого идеи,как сделать(только код не надо давать
![]() ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Простой вариант, без геморроя:
- главное окно на базе диалога, сверху вопрос, ниже - варианты ответов в виде радиобатонов, можно картинку над вопросом выводить; ещё ниже можно приводить статистику (сколько вопросов всего, сколько было уже задано, сколько времени прошло и осталось, ФИО и т.п.) - вопросы и варианты ответов хранить в текстовом файле(-ах), правильные ответы - в отдельном файле, в заXORенном виде ![]() - картинки (если есть) - в той же папке, где и текстовики с вопросами, в виде обычных BMP'шек Для слежения за временем и обновлением его на диалоге, можно завести обработку WM_TIMER, а можно сделать отдельный поток. Радиобатоны (или чекбоксы) создавать динамически, по содержимому текстовых файлов с вопросами; обработку вести с пом. ON_COMMAND_RANGE. -------------------- ![]() |
|||
|
||||
PILOT |
|
|||
![]() производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Тест это значит что ест варианты ответов.
Создаешь структуру данных в которой есть: вопрос ответ 1 ответ 2 ответ 3 ответ 4 ответ 5 номер правильного ответа Типы данных выбираешь из зравого смысла и объема текстов. Эту структуру помещаешь в массив и сохраняешь на диске в нужном формате. Программа вытаскивает структуру и выводит на экран предлагая пользователю отметить правильный ответ и нажать кнопку "дальше". Когда данных в файле с вопросами больше нет, программа выводит результаты совпадений ответов пользователя с правильными ответами. В зависимости от этого выставляет оценку или выводит статистику в файл( рпинтер)... СУВ. ЗЫ. Про ввод начальных данный, выбор типа теста, времени теста и т.д. ты сам реши... Добавлено @ 23:11 Ну вот пока отвечаешь тут уже куча ответов... -------------------- тут могла быть Ваша реклама... |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Я вообще -то думал прогу составить в виде редактора,с котором пользователь может составлять тесты,которые,потом,может использовать,как отдельную прогу.Так вот вопросы был,типа,какой можно придумать интерфейс,какие виды тестов можно составлять,в каком формате сохранять.Ну вообщем,захотел кто-нибудь для кого-нибудь тесты составить,открыл прогу и сделал.Почему совета прошу?Да просто боюсь всего не предусмотреть
![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
mr.DUDA |
|
||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
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 |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Спасибо,mr.DUDA,(в который раз).Интересно.Осталось только написать
![]() ![]() ![]() ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Coocky, а белорусским программерам значит прозябать ![]() ![]() ![]() -------------------- ![]() |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Прости,дружище,не думал,не гадал
![]() ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |