Разработка приложения, позволяющего проводить тестирование по разделу "Логарифмы"
Проектирование Windows-приложения, которое позволяет проводить тестирование знаний по разделу математики "Логарифмы". Создание дополнительного класса диалоговых окон, нового пользовательского интерфейса программы. Требования к техническому обеспечению.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.07.2011 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- Введение
- 1. Разработка приложений в Visual Studio 2008
- 1.2 Новый пользовательский интерфейс
- 1.3 Эффективная совместная работа в группе
- 1.4 Microsoft .NET Framework 3.5
- 1.5 Требования к системе
- 1.6 Основы разработки Windows - приложений с использованием библиотеки MFC.
- 1.7 Принцип действия
- 1.8 Добавление кода в каркас приложения
- 1.9 История
- 2. Спецификация программы
- 2.1 Описание программы
- 2.2 Функциональное назначение
- 2.3 Описание логической структуры приложения
- 2.4 Требования к техническому обеспечению
- 2.5 Установка и запуск программы
- 2.6 Работа с приложением
- 2.7 Входные данные
- 2.8 Выходные данные
- 2.9 Описание тестовых прогонов
- Список используемой литературы
- Приложения
Введение
Visual Studio 2008 (кодовое имя Orcas; внутренняя версия 9.0) -- выпущена 19 ноября 2007, одновременно с .NET Framework 3.5. Нацелена на создание приложений для ОС Windows Vista (но поддерживает и XP), Office 2007 и веб-приложений. Включает в себя LINQ, новые версии языков C# и Visual Basic. В студию не вошёл Visual J#. С 28 октября 2008 года впервые доступна версия на русском языке.
Visual Studio 2008 включает новые возможности, такие как наглядные средства разработки для более быстрой работы с .NET Framework 3.5, усовершенствованные средства разработки веб-приложений и улучшения языков, ускоряющие работу со всеми типами данных. В Visual Studio 2008 вы найдете все необходимые средства для создания ярких веб-приложений с поддержкой AJAX.
Вы сможете воспользоваться мощными клиентскими и серверными платформами для создания клиентских веб-приложений, выполняющихся во всех современных веб-обозревателях, легко интегрирующихся с серверными компонентами и имеющих полный доступ к службам приложений ASP.NET и платформе Майкрософт.
С помощью средств, включенных в состав Visual Studio 2008, можно создавать приложения для широкого спектра платформ -- от так называемых разумных устройств (smart personal objects) до сотовых телефонов, планшетных компьютеров и настольных компьютеров и серверов [1].
1. Разработка приложений в Visual Studio 2008
Для более быстрой разработки в Visual Studio 2008 улучшены функции работы с языками и данными. Например, с помощью LINQ вы, как индивидуальные разработчики можете создавать решения, выполняющие анализ данных.
В Visual Studio 2008 возможно ориентироваться на различные версии .NET Framework в одной и той же среде разработки. Можно создавать приложения для .NET Framework 2.0, 3.0 или 3.5, то есть поддерживать множество проектов в одной среде.
1.2 Новый пользовательский интерфейс
Visual Studio 2008 содержит новые средства разработки, облегчающие создание подключаемых приложений на самых современных платформах, включая веб-приложения, приложения для Windows Vista, Office 2007, SQL Server 2008 и Windows Server 2008. В области веб ASP.NET AJAX и другие новые технологии Visual Studio 2008 позволят быстро создавать высокоэффективные интерактивные веб-интерфейсы.
1.3 Эффективная совместная работа в группе
Visual Studio 2008 предлагает усовершенствованные средства, помогающие наладить совместную деятельность в группах, включая инструменты для объединения в процессе разработки специалистов по базам данных и дизайнеров [2].
1.4 Microsoft .NET Framework 3.5
пользовательский интерфейс программа логарифм
Платформа .NET обеспечивает быстрое создание подключаемых приложений с удобным пользовательским интерфейсом благодаря набору готовых программных модулей для решения типовых задач программирования. Подключаемые приложения, построенные на платформе .NET Framework, обеспечивают моделирование бизнес-процессов и интеграцию систем в разнородной среде. Вместе Visual Studio и .NET Framework снижают надобность в написании общего связующего кода, сокращая время разработки и позволяя сосредоточить усилия на решении бизнес-задач [3].
1.5 Требования к системе
Visual Studio 2008 может быть установлена на следующие операционные системы:
· Windows Vista (x86 и x64) -- все издания, за исключением Starter Edition;
· Windows XP (x86 и x64) с установленным пакетом обновлений Service Pack 2 или более поздней версии -- все издания, за исключением Starter Edition;
· Windows Server 2003 (x86 и x64) с установленным пакетом обновлений Service Pack 1 или более поздней версии;
· Windows Server 2003 R2 (x86 или x64) или более поздней версии;
· Windows Server 2008 (x86 и x64).
· Для установки Visual Studio 2008 потребуется компьютер со следующими характеристиками:
· процессор с частотой не ниже 1,6 ГГц;
· минимум 384 Мбайт оперативной памяти (768 Мбайт или более для работы под Windows Vista);
· 2,2 Гбайт свободного пространства на жестком диске со скоростью не менее 5400 об./мин;
· дисплей с разрешением не менее 1024x768;
· привод DVD
1.6 Основы разработки Windows - приложений с использованием библиотеки MFC.
Пакет Microsoft Foundation Classes (MFC) - библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI - приложений для Microsoft Windows путем использования богатого набора библиотечных классов [4].
1.7 Принцип действия
Библиотека MFC, как и её основной конкурент, Borland VCL, облегчает работу с GUI путем создания каркаса приложения - «скелетной» программы, автоматически создаваемой по заданному макету интерфейса и полностью берущий на себя рутинные действия по его обслуживанию (отработка оконных событий, пересылка данных между внутренними буферами элементов и переменными программы и т.п.). Программисту после генерации каркаса приложение необходимо только вписать код в места, где требуются специальные действия. Каркас должен иметь вполне определенную структуру, поэтому для его генерации и изменения в Visual С++ предусмотрены мастера.
Кроме того, MFC предоставляет объектно-ориентированный слой оберток (англ. wrappers) над множеством функций Windows API, делающий несколько более удобной работу с ними. Этот слой представляет множество встроенных в систему объектов (окна, виджеты, файлы и т.п.) в виде классов и опять же берет на себя рутинные действия вроде закрытия дескрипторов и выделения/освобождения памяти[5].
1.8 Добавление кода в каркас приложения
Добавление кода приложения к каркасу реализовано двумя способами. Первый использует механизм наследования: основные программные структуры каркаса представлены в виде классов наследуемых от библиотечных. В этих классах предусмотрено множество виртуальных функций вызываемых в определенный момент работы программы. Путем доопределения (в большинстве случаев необходимо вызвать функцию базового класса) этих функций программист может добавлять выполнение в эти моменты своего кода.
Второй способ используется для добавления обработчиков оконных событий. Мастер создает внутри каркасов классов, связанных с окнами, специальные массивы - карты (оконных) сообщений (англ. massage map), содержащие пары «ИД сообщения - указатель на обработчик». При добавленииудалении обработчика мастер вносит изменения в соответствующую карту сообщений[6].
1.9 История
Первая версия MFC была выпущена вместе с седьмой версией 16-разрядного компилятора языка C\C++ компании Microsoft 1992 году. Для тех, кто занимался разработкой приложений с использованием API-функций, пакет MFC обещал весьма значительное повышение производительности процесса программирования [7].
Одной из примечательных особенностей MFC является префикс «Afx», используемый в именах многих функций, макросов и названии стандартного заголовочного файла «stdafx.h». На ранней стадии разработки, то, что впоследствии стало называться MFC, имело название «Application Framework Extensions» и аббревиатуру «Afx». Решение изменить название на Microsoft Foundation Classes (MFC) было принято слишком поздно, чтобы менять упоминания Afx в коде.
Object Windows Library (OWL), разработанная компанией Borland для работы с собственным компилятором C++, была конкурирующим продуктом, представленным в тот же период. В конце концов Borland прекратила разработку OWL и приобрела краткосрочную лицензию на использование библиотек для работы с MFC, но так и не предложила полной поддержки MFC в своих продуктах. Позднее Borland выпустила VCL в качестве замены MFC [8].
Упор компании Microsoft на MFC был ослаблен в пользу Microsoft.NET Framework. Однако, несмотря на это, MFC по-прежнему остается популярной среди разработчиков.
В апреле 2008 года Microsoft выпустила, после многолетнего бездействия, значительное обновление к MFC под названием MFC Feature Pack. Это обновление предлагалось к установке как дополнение к Visual Studio 2008. В основе своей это были добавочные классы MFC, права на которые были приобретены у российской фирмы BGGSoft [9]. В MFC включалась поддержка нового интерфейса Ribbon и несколько других усовершенствований, связанных с улучшенными интерфейсными элементами управления. После выпущенного пакета обновления для Visual Studio 2008 данные классы стали неотъемлемой частью MFC [10].
Таблица 1.1 - Версии
Версия продукта |
Версия MFC |
Год выхода |
|
Microsoft C\C++ 7.0 |
MFC 1.0 |
1992 |
|
Visual C++ 1.0 |
MFC 2.0 (введена архитектура документ-представление) |
||
Visual C++ 1.5 |
MFC 2.5 (реализована поддержка технологий ODBC и drag and drop) |
||
Visual C++ 1.52c |
MFC 2.5 (последняя платформа разработки для MS Windows 3.x) |
||
Visual C++ 2.0 |
MFC 3.0 (появилась возможность реализации многозадачности и поддержка Unicode) |
||
Visual C++ 2.1 |
MFC 3.1 |
||
Visual C++ 2.2 |
MFC 3.2 |
||
Visual C++ 4.0 |
MFC 4.0 (mfc40.dll включена в состав Windows 95) |
Август 1995 |
|
Visual C++ 4.1 |
MFC 4.1 |
||
Visual C++ 4.2 |
MFC 4.2 (mfc42.dll включена в первоначальный выпуск Windows 98) |
Март 1998 |
|
eMbedded Visual C++ 3.0 |
MFC 4.2 (mfc42.dll) |
||
Visual C++ 5.0 |
MFC 4.21 (mfc42.dll) значительное обновление MFC 4.2 |
||
Visual C++ 6.0 |
MFC 6.0 (mfc42.dll) |
1998 |
|
eMbedded Visual C++ 4.0 |
MFC 6.0 (mfcce400.dll) |
||
Visual C++.NET 2002 (Visual C++ 7.0) |
MFC 7.0 (mfc70.dll),.NET 1.0 |
Февраль 2002 |
|
Visual C++ 2003 (Visual C++ 7.1) |
MFC 7.1 (mfc71.dll),.NET 1.1 |
Апрель 2003 |
|
Visual C++ 2005 (Visual C++ 8.0) |
MFC 8.0 (mfc80.dll),.NET 3.5 |
Октябрь 2005 |
|
Visual C++ 2008 (Visual C++ 9.0) |
MFC 9.0.21022 (mfc90.dll),.NET 3.5 |
Ноябрь 2007 |
|
Visual C++ 2008 with Feature Pack |
MFC 9.0.30411 (mfc90.dll) |
Апрель 2008 |
|
Visual C++ 2008 SP1 |
MFC 9.0.30729 (mfc90.dll) |
Август 2008 |
|
Visual C++ 2008 Security Update (KB971092) |
MFC 9.0.30729.4148 (mfc90.dll) |
Июль 2009 |
|
Visual C++ 2010 |
MFC 10.0.30319.1 (mfc100.dll),.NET 4.0 |
Апрель 2010 |
2. Спецификация программы
2.1 Описание программы
Windows-приложение, разработанное в среде программирования Microsoft Visual Studio 2008 на языке Visual C++ c использованием библиотеки MFC. Задача программы протестировать знания пользователя по разделу математики «логарифмы». Программа задаст пользователю 20 вопросов. Оценка знаний производится по 100 бальной шкале. Максимальный балл вопроса указан в каждом варианте. Также программа содержит дату начала тестирования и ссылку на сайт создателя программы
2.2 Функциональное назначение
При запуске программы открывается главное окно программы (рис. 2.1), в котором имеются кнопки начала тестирования и выхода из программы, число проведения тестирования, приветствие, ссылка на сайт производителя, а по завершению тестирования отображается количество набранных баллов.
Рисунок 2.1 - Главное окно программы
По нажатию на кнопку начать тестирование открывается окно вопроса (рис. 2.1), разделенное на несколько областей номер вопроса, вопрос, варианты ответов, кнопки «Дальше», «Пропустить» и область в которой показано максимальное количество баллов за ответ.
Рисунок 2.2 - Окно вопроса предполагающий 1 вариант ответа
В программе реализовано 2 вида вопросов - предполагающие один правильный ответ (рис. 2.2) и предполагающие выбор нескольких вариантов ответа (рис. 2.3).
Рисунок 2.3 - Окно вопроса предполагающий несколько ответов
По завершению 20-ти вопросов в главном окне программы показываются баллы заработанные пользователем (рис. 4).
Рисунок 2.4 - Пример вывода результатов тестирования
2.3 Описание логической структуры приложения
Приложение разработано в среде Microsoft Visual Studio 2008 и отвечает всем принципам объектно-ориентированного программирования. Оно создано на базе диалогового приложения.
Разработаны формы главного окна и формы 20 вопросов. Для каждой разработанной формы, спроектирован собственный класс, производящий обработку действий пользователя. Иерархия разработанных классов показана в Приложении А. Код класса СProgrammTestDlg, спецификация которого представлена в таблице 2.1, показан в Приложении Б.
Таблица 2.1. - Спецификация класса СProgrammTestDlg
Атрибут |
Способ доступа |
Назначение |
|
OnBnClickedButton1() |
Protected |
Открывает диалоговые окна вопросов, обрабатывает результаты выполненных пользователем действий |
|
OnBnClickedCancel() |
Protected |
Закрывает программу тестирования |
|
OnPaint() |
Protected |
Отвечает за перерисовку окна и вывод результатов. |
2.4 Требования к техническому обеспечению
Для работы с Windows-приложением необходим персональный компьютер со следующими характеристиками: процессор Intel с тактовой частотой 1000 МГц и выше, оперативная память - не менее 512 Мбайт, свободное дисковое пространство - не менее 500 Мбайт, дисковод, монитор с диагональю не менее 17 .
Программное обеспечение - операционная система 2000 / XP / 2003.
2.5 Установка и запуск программы
Для успешной работы с приложением, должны быть выполнены системные требования и установлен NetFramework 3.5, убедившись в соответствии необходимо скопировать на жесткий диск файл ProgrammTest.exe. Запуск программы осуществляется, привычным для Windows пользователей образом, а именно двойным щелчком по файлу ProgrammTest.exe.
2.6 Работа с приложением
После запуска приложения, в открывшимся главном окне программы необходимо нажать кнопку «Начать тестирование», затем в открывающихся окнах вопросов, необходимо выбирать ответы, и нажимать кнопку далее. В случае не выбора ни одного ответа, либо нажатии кнопки «Пропустить», баллы не начисляются.
2.7 Входные данные
В качестве входных данных программа принимает ответы пользователя на вопросы, путем обработки элементов управления, таких как «Радио кнопка» и «Флажок».
2.8 Выходные данные
На главной форме в текстовом поле выводится количество набранных пользователем баллов. Максимальное значение которых равно 100, а минимальное значение равно 0.
2.9 Описание тестовых прогонов
При запуске программы открывается главное окно программы (рис. 2.5), в котором имеются кнопки начала тестирования и выхода из программы, число проведения тестирования, приветствие, ссылка на сайт производителя, а по завершению тестирования отображается количество набранных баллов.
Рисунок 2.5 - Главное окно программы
По нажатию на кнопку начать тестирование открывается окно вопроса 1 (рис. 2.6).
Рисунок 2.6 - Окно вопроса 1
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 2 (рис. 2.7).
Рисунок 2.7 - Окно вопроса 2
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 3 (рис. 2.8).
Рисунок 2.8 - Окно вопроса 3
По нажатию на кнопку начать тестирование открывается окно вопроса 4 (рис. 2.9).
Рисунок 2.9 - Окно вопроса 4
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 5 (рис. 2.10).
Рисунок 2.10 - Окно вопроса 5
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 6 (рис. 2.11).
Рисунок 2.11 - Окно вопроса 6
По нажатию на кнопку начать тестирование открывается окно вопроса 7 (рис. 2.12).
Рисунок 2.12 - Окно вопроса 7
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 8 (рис. 2.13)
Рисунок 2.13 - Окно вопроса 8
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 9 (рис. 2.14).
Рисунок 2.14 - Окно вопроса 9
По нажатию на кнопку начать тестирование открывается окно вопроса 10 (рис. 2.15).
Рисунок 2.15 - Окно вопроса 10
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 11 (рис. 2.16).
Рисунок 2.16 - Окно вопроса 11
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 12 (рис. 2.17).
Рисунок 2.17 - Окно вопроса 12
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 13 (рис. 2.18).
Рисунок 2.18 - Окно вопроса 13
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 14 (рис. 2.19).
Рисунок 2.19 - Окно вопроса 14
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 15 (рис. 2.20).
Рисунок 2.20 - Окно вопроса 15
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 16 (рис. 2.21).
Рисунок 2.21 - Окно вопроса 16
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 17 (рис. 2.22).
Рисунок 2.22 - Окно вопроса 17
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 18 (рис. 2.23).
Рисунок 2.23 - Окно вопроса 18
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 19 (рис. 2.24).
Рисунок 2.24 - Окно вопроса 19
По нажатию кнопки «Дальше» или «Пропустить» открывается окно вопроса 20 (рис. 2.25).
Рисунок 2.25 - Окно вопроса 20
По завершению 20-ти вопросов в главном окне программы показываются баллы заработанные пользователем (рис. 2.26).
Рисунок 2.26 - Главная форма по завершению тестирования
Во время тестирования ошибок не обнаружено.
Заключение
При выполнении данной курсового проекта было разработано Windows-приложение, которое позволяет проводить тестирование знаний по разделу математики «Логарифмы». Для создания приложения была изучена тема программирования на языке Visual С++, а также выучены многие методы классов библиотеки MFC и разобран метод визуального программирования. Было создан дополнительный класс диалоговых окон. Изучена работа с ClassWizard, визуальным оформлением проекта. Над созданным программным продуктом были проведены тестовые прогоны с использованием различных исходных данных. В результате ошибок не было обнаружено. При разработке курсового проекта были углублены знания в области визуального программирования.
Список используемой литературы
1. Кэйт Грегори Использование Visual С++6 . Специальное издание.: СПб.; «Вильямс», 2003 - 864стр.
2. О.С.Мезенцева, В.В.Кушнарев. Методические указания по курсовому проектированию по дисциплине «Высокоуровневые методы информатики и программирования». Ставрополь, 2002
3. А.Мешков, Ю.Тихомиров. Visual C++ и MFC. 2-е изд.перераб. и доп. - СПб.: БХВ-Петербург, 2003. - 1040стр.
4. Ю. Олафсен MFC и Visual C++6. Диа-Софт, Киев, 2003
5. Г. Шилдт Программирование на BORLAND C++ для профессионалов/Пер. англ. А.И. Филимонов; - Мн.: ООО «Попурри», 1999. - 800 с.
6. С. Холзнер Microsoft Visual C++ 6 с самого начала - СПб: Питер, 2000 г.
7. К. Паппас, У. Мюррей Полное руководство по Visual C++.-Мн.:ООО “Поппури”,1999г
8. С.Гилберт, Б.Маккарти. Программирование на Visual C++. Этюды профессионалов. Диа-Софт, Киев, 1998.
9. А.Черносвитов. Visual C++ и MFC, курс MCSD для профессионалов. СПб: Питер, 2000
10. И. Ю. Баженова. Visual C++6.0 (Visual Studio 98). Уроки программирования. М.:Диалог-МИФИ, 1999
Приложения
Приложение А
Иерархия классов.
Диаграмма классов
Приложение Б
Листинг программы.
// ProgrammTestDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ProgrammTest.h"
#include "ProgrammTestDlg.h" \\ подключение в библиотеки диалоговые окна
#include "Vopros1.h"
#include "Vopros2.h"
#include "Vopros3.h"
#include "Vopros4.h"
#include "Vopros5.h"
#include "Vopros6.h"
#include "Vopros7.h"
#include "Vopros8.h"
#include "Vopros9.h"
#include "Vopros10.h"
#include "Vopros11.h"
#include "Vopros12.h"
#include "Vopros13.h"
#include "Vopros14.h"
#include "Vopros15.h"
#include "Vopros16.h"
#include "Vopros17.h"
#include "Vopros18.h"
#include "Vopros19.h"
#include "Vopros20.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CProgrammTestDlg dialog
CProgrammTestDlg::CProgrammTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CProgrammTestDlg::IDD, pParent)
, res(0)
, m_text(_T(""))
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CProgrammTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_text);
}
BEGIN_MESSAGE_MAP(CProgrammTestDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, &CProgrammTestDlg::OnBnClickedButton1)
ON_BN_CLICKED(IDCLOSE, &CProgrammTestDlg::OnBnClickedClose)
ON_BN_CLICKED(IDCANCEL, &CProgrammTestDlg::OnBnClickedCancel)
END_MESSAGE_MAP()
// CProgrammTestDlg message handlers
BOOL CProgrammTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);// Set big icon
SetIcon(m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CProgrammTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CProgrammTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CProgrammTestDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CProgrammTestDlg::OnBnClickedButton1()
{
res=0;\\обнуление переменной res (результат)
Vopros1 dlg1; \\ объявление объекта
if(dlg1.DoModal()==IDOK)\\ подключение клавиши Дальше
{
res+=dlg1.m_otvet;\*присвоение переменной res значения ответа 1 вопроса\*
}
Vopros2 dlg2;
if(dlg2.DoModal()==IDOK)
{
res+=dlg2.m_otvet; \*присвоение переменной res значения ответа 2 вопроса\*
}
Vopros3 dlg3;
if(dlg3.DoModal()==IDOK)
{
if(dlg3.ch1==TRUE)\* объявление переменной ch1 и в случае выбора этого ответа, присвоение значения переменной res\*
{
res+=0;\\присвоение значения переменной res
}
if(dlg3.ch2==TRUE)
{
res+=3;
}
if(dlg3.ch3==TRUE)
{
res+=0;
}
if(dlg3.ch4==TRUE)
{
res+=3;
}
}
Vopros4 dlg4;
if(dlg4.DoModal()==IDOK)
{
res+=dlg4.m_otvet; \*присвоение переменной res значения ответа 4 вопроса\*
}
Vopros5 dlg5;
if(dlg5.DoModal()==IDOK)
{
res+=dlg5.m_otvet; \*присвоение переменной res значения ответа 5 вопроса\*
}
Vopros6 dlg6;
if(dlg6.DoModal()==IDOK)
{
res+=dlg6.m_otvet; \*присвоение переменной res значения ответа 6 вопроса\*
}
Vopros7 dlg7;
if(dlg7.DoModal()==IDOK)
{
res+=dlg7.m_otvet; \*присвоение переменной res значения ответа 7 вопроса\*
}
Vopros8 dlg8;
if(dlg8.DoModal()==IDOK)
{
res+=dlg8.m_otvet; \*присвоение переменной res значения ответа 8 вопроса\*
}
Vopros9 dlg9;
if(dlg9.DoModal()==IDOK)
{
res+=dlg9.m_otvet; \*присвоение переменной res значения ответа 9 вопроса\*
}
Vopros10 dlg10;
if(dlg10.DoModal()==IDOK)
{
if(dlg10.c1==TRUE)
{
res+=0;
}
if(dlg10.c2==TRUE)
{
res+=3;
}
if(dlg10.c3==TRUE)
{
res+=3;
}
if(dlg10.c4==TRUE)
{
res+=0;
}
}
Vopros11 dlg11;
if(dlg11.DoModal()==IDOK)
{
res+=dlg11.m_otvet; \*присвоение переменной res значения ответа 11 вопроса\*
}
Vopros12 dlg12;
if(dlg12.DoModal()==IDOK)
{
res+=dlg12.m_otvet; \*присвоение переменной res значения ответа 12 вопроса\*
}
Vopros13 dlg13;
if(dlg13.DoModal()==IDOK)
{
res+=dlg13.m_otvet; \*присвоение переменной res значения ответа 13 вопроса\*
}
Vopros14 dlg14;
if(dlg14.DoModal()==IDOK)
{
res+=dlg14.m_otvet; \*присвоение переменной res значения ответа 14 вопроса\*
}
Vopros15 dlg15;
if(dlg15.DoModal()==IDOK)
{
if(dlg15.ch1==TRUE)
{
res+=0;
}
if(dlg15.ch2==TRUE)
{
res+=0;
}
if(dlg15.ch3==TRUE)
{
res+=3;
}
if(dlg15.ch4==TRUE)
{
res+=3;
}
}
Vopros16 dlg16;
if(dlg16.DoModal()==IDOK)
{
res+=dlg16.m_otvet; \*присвоение переменной res значения ответа 16 вопроса\*
}
Vopros17 dlg17;
if(dlg17.DoModal()==IDOK)
{
res+=dlg17.m_otvet; \*присвоение переменной res значения ответа 17 вопроса\*
}
Vopros18 dlg18;
if(dlg18.DoModal()==IDOK)
{
res+=dlg18.m_otvet; \*присвоение переменной res значения ответа 18 вопроса\*
}
Vopros19 dlg19;
if(dlg19.DoModal()==IDOK)
{
if(dlg19.c1==TRUE)
{
res+=3;
}
if(dlg19.c2==TRUE)
{
res+=0;
}
if(dlg19.c3==TRUE)
{
res+=3;
}
if(dlg19.ch4==TRUE)
{
res+=0;
}
}
Vopros20 dlg20;
if(dlg20.DoModal()==IDOK)
{
res+=dlg20.m_otvet; \*присвоение переменной res значения ответа 20 вопроса\*
}
m_text.Format(L" сумма балов: %d", res);\*вывод результат в текстовое поле\*
UpdateData(false);
// TODO: Add your control notification handler code here
}
void CProgrammTestDlg::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
}
void CProgrammTestDlg::OnBnClickedClose()
{
// TODO: Add your control notification handler code here
}
void CProgrammTestDlg::OnBnClickedCancel()
{
// TODO: Add your control notification handler code here
OnCancel();
}
Размещено на Allbest.ru
Подобные документы
Создание приложения на языке программирования Visual C++ с использованием библиотеки MFC на тему "Тестирование по разделу "Законы механики Ньютона". Описание логической структуры программы, тестовых прогонов. Требования к техническому обеспечению.
курсовая работа [2,2 M], добавлен 29.06.2011Анализ современных концепций построения сайтов онлайн-тестирования. Разработка автоматизированного тестирующего комплекса – обучающего Web-приложения, позволяющего проводить контроль уровня знаний математики с применением языка программирования Php.
дипломная работа [865,8 K], добавлен 24.06.2013Разработка программного продукта, предназначенного для тестирования знаний пользователя по теме "Тепловые двигатели" нa языкe C++ в среде Micrоsоft Visual Studio с использовaниeм библиотeки MFC. Функциональное назначение созданного Windows-приложения.
курсовая работа [954,4 K], добавлен 25.06.2011Составление и описание программы для тестирования знаний пользователя по разделу математики "Обыкновенные дроби", написанной на языке Visual C++ с использование библиотеки MFC. Основные характеристики элементов управления разрабатываемой программы.
курсовая работа [776,9 K], добавлен 29.06.2011Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.
курсовая работа [352,0 K], добавлен 24.08.2016Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.
курсовая работа [2,2 M], добавлен 15.03.2015Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.
дипломная работа [1,5 M], добавлен 09.11.2016Разработка программного приложения по автоматизированному учету поступающего довольствия. Описание среды программирования. Тестирование и отладка приложения. Анализ результатов решения. Инструкция пользователю. Требования к техническому обеспечению.
дипломная работа [946,0 K], добавлен 18.07.2014Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013Теоретические основы написания Windows-приложений с использованием библиотеки MFC. Основы программирования под Windows. Проектирование приложений в среде Microsoft Visual C++. Описание логической структуры приложения, его функциональное назначение.
курсовая работа [1,3 M], добавлен 12.12.2011