Разработка приложения, позволяющего проводить тестирование по разделу 'Логарифмы'
Содержание
Введение
. Разработка приложений в
Visual Studio 2008
.2 Новый пользовательский
интерфейс
.3 Эффективная совместная
работа в группе
.4 Microsoft .NET Framework
3.5
.5 Требования к системе
.6 Основы разработки Windows
- приложений с использованием библиотеки MFC.
.7 Принцип действия
.8 Добавление кода в каркас
приложения
.9 История
. Спецификация программы
.1 Описание программы
.2 Функциональное назначение
.3 Описание логической
структуры приложения
.4 Требования к техническому
обеспечению
.5 Установка и запуск
программы
.6 Работа с приложением
.7 Входные данные
.8 Выходные данные
.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 года впервые доступна версия на
русском языке.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 Новый пользовательский интерфейс
Studio 2008 содержит новые средства разработки, облегчающие создание
подключаемых приложений на самых современных платформах, включая
веб-приложения, приложения для Windows Vista, Office 2007, SQL Server 2008 и
Windows Server 2008. В области веб ASP.NET AJAX и другие новые технологии
Visual Studio 2008 позволят быстро создавать высокоэффективные интерактивные
веб-интерфейсы.
1.3 Эффективная совместная работа в группе
Studio 2008 предлагает усовершенствованные средства, помогающие наладить
совместную деятельность в группах, включая инструменты для объединения в
процессе разработки специалистов по базам данных и дизайнеров [2].
1.4 Microsoft .NET Framework 3.5
пользовательский интерфейс программа логарифм
Платформа .NET обеспечивает быстрое создание подключаемых приложений с
удобным пользовательским интерфейсом благодаря набору готовых программных
модулей для решения типовых задач программирования. Подключаемые приложения,
построенные на платформе .NET Framework, обеспечивают моделирование
бизнес-процессов и интеграцию систем в разнородной среде. Вместе Visual Studio
и .NET Framework снижают надобность в написании общего связующего кода,
сокращая время разработки и позволяя сосредоточить усилия на решении
бизнес-задач [3].
1.5 Требования к системе
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 в коде.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
|
|
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
|
Отвечает за перерисовку
окна и вывод результатов.
|
.4 Требования к техническому обеспечению
Программное обеспечение - операционная система 2000 / XP / 2003.
2.5 Установка и запуск программы
Для успешной работы с приложением, должны быть выполнены системные
требования и установлен NetFramework 3.5, убедившись в соответствии необходимо скопировать на жесткий диск файл ProgrammTest.exe. Запуск программы осуществляется,
привычным для Windows пользователей образом, а именно
двойным щелчком по файлу ProgrammTest.exe.
.6 Работа с приложением
После запуска приложения, в открывшимся главном окне программы необходимо
нажать кнопку «Начать тестирование», затем в открывающихся окнах вопросов,
необходимо выбирать ответы, и нажимать кнопку далее. В случае не выбора ни
одного ответа, либо нажатии кнопки «Пропустить», баллы не начисляются.
.7 Входные данные
В качестве входных данных программа принимает ответы пользователя на
вопросы, путем обработки элементов управления, таких как «Радио кнопка» и
«Флажок».
.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
Рисунок 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
. Г. Шилдт Программирование на
BORLAND C++ для профессионалов/Пер. англ. А.И. Филимонов; - Мн.: ООО
«Попурри», 1999. - 800 с.
6. С. Холзнер Microsoft Visual
C++ 6 с самого начала - СПб: Питер, 2000 г.
7. К. Паппас, У. Мюррей Полное
руководство по Visual C++.-Мн.:ООО “Поппури”,1999г
. С.Гилберт, Б.Маккарти.
Программирование на Visual C++. Этюды профессионалов. Диа-Софт,
Киев, 1998.
9. А.Черносвитов. Visual C++ и
MFC, курс MCSD для профессионалов. СПб: Питер, 2000
. И. Ю. Баженова. 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 AboutCAboutDlg : public
CDialog
{:();
// Dialog Data{ IDD = IDD_ABOUTBOX };:void
DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation:_MESSAGE_MAP()
};::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}CAboutDlg::DoDataExchange(CDataExchange* pDX)
{::DoDataExchange(pDX);
}_MESSAGE_MAP(CAboutDlg, CDialog)_MESSAGE_MAP()
// CProgrammTestDlg dialog::CProgrammTestDlg(CWnd* pParent
/*=NULL*/)
: CDialog(CProgrammTestDlg::IDD, pParent)
, res(0)
, m_text(_T(""))
{_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}CProgrammTestDlg::DoDataExchange(CDataExchange* pDX)
{::DoDataExchange(pDX);_Text(pDX, IDC_EDIT1, m_text);
}_MESSAGE_MAP(CProgrammTestDlg, CDialog)_WM_SYSCOMMAND()_WM_PAINT()_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP_BN_CLICKED(IDC_BUTTON1,
&CProgrammTestDlg::OnBnClickedButton1)_BN_CLICKED(IDCLOSE,
&CProgrammTestDlg::OnBnClickedClose)_BN_CLICKED(IDCANCEL,
&CProgrammTestDlg::OnBnClickedCancel)_MESSAGE_MAP()
// CProgrammTestDlg message
handlersCProgrammTestDlg::OnInitDialog()
{::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command
range.((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);(IDM_ABOUTBOX <
0xF000);* pSysMenu = GetSystemMenu(FALSE);(pSysMenu != NULL)
{strAboutMenu;.LoadString(IDS_ABOUTBOX);(!strAboutMenu.IsEmpty())
}
}
// Set the icon for this dialog. The framework does this
automatically
// when the application's main window is not a
dialog(m_hIcon, TRUE);// Set big icon(m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization hereTRUE; // return TRUE
unless you set the focus to a control
}CProgrammTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{((nID & 0xFFF0) == IDM_ABOUTBOX)
{dlgAbout;.DoModal();
}
{::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.CProgrammTestDlg::OnPaint()
{(IsIconic())
{dc(this); // device context for painting(WM_ICONERASEBKGND,
reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectanglecxIcon =
GetSystemMetrics(SM_CXICON);cyIcon =
GetSystemMetrics(SM_CYICON);rect;(&rect);x = (rect.Width() - cxIcon + 1) /
2;y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon.DrawIcon(x, y, m_hIcon);
}
{::OnPaint();
}
}
// The system calls this function to obtain the cursor to
display while the user drags
// the minimized window.CProgrammTestDlg::OnQueryDragIcon()
{static_cast<HCURSOR>(m_hIcon);
}CProgrammTestDlg::OnBnClickedButton1()
{=0;\\обнуление переменной res (результат)dlg1; \\ объявление
объекта(dlg1.DoModal()==IDOK)\\ подключение клавиши Дальше
{+=dlg1.m_otvet;\*присвоение переменной res значения ответа 1
вопроса\*
}dlg2;(dlg2.DoModal()==IDOK)
{+=dlg2.m_otvet; \*присвоение переменной res значения ответа
2 вопроса\*
}dlg3;(dlg3.DoModal()==IDOK)
{(dlg3.ch1==TRUE)\* объявление переменной ch1 и в случае
выбора этого ответа, присвоение значения переменной res\*
{+=0;\\присвоение значения переменной res
}(dlg3.ch2==TRUE)
{+=3;
}(dlg3.ch3==TRUE)
{+=0;
}(dlg3.ch4==TRUE)
{+=3;
}
}dlg4;(dlg4.DoModal()==IDOK)
{+=dlg4.m_otvet; \*присвоение переменной res значения ответа
4 вопроса\*
}dlg5;(dlg5.DoModal()==IDOK)
{+=dlg5.m_otvet; \*присвоение переменной res значения ответа
5 вопроса\*
}dlg6;(dlg6.DoModal()==IDOK)
{+=dlg6.m_otvet; \*присвоение переменной res значения ответа
6 вопроса\*
}dlg7;(dlg7.DoModal()==IDOK)
{+=dlg7.m_otvet; \*присвоение переменной res значения ответа
7 вопроса\*
}dlg8;(dlg8.DoModal()==IDOK)
{+=dlg8.m_otvet; \*присвоение переменной res значения ответа
8 вопроса\*
}dlg9;(dlg9.DoModal()==IDOK)
{+=dlg9.m_otvet; \*присвоение переменной res значения ответа
9 вопроса\*
}dlg10;(dlg10.DoModal()==IDOK)
{(dlg10.c1==TRUE)
{+=0;
}(dlg10.c2==TRUE)
{+=3;
}(dlg10.c3==TRUE)
{+=3;
}(dlg10.c4==TRUE)
{+=0;
}
}dlg11;(dlg11.DoModal()==IDOK)
{+=dlg11.m_otvet; \*присвоение переменной res значения ответа
11 вопроса\*
}dlg12;(dlg12.DoModal()==IDOK)
{+=dlg12.m_otvet; \*присвоение переменной res значения ответа
12 вопроса\*
}dlg13;(dlg13.DoModal()==IDOK)
{+=dlg13.m_otvet; \*присвоение переменной res значения ответа
13 вопроса\*
}dlg14;(dlg14.DoModal()==IDOK)
}dlg15;(dlg15.DoModal()==IDOK)
{(dlg15.ch1==TRUE)
{+=0;
}(dlg15.ch2==TRUE)
{+=0;
}(dlg15.ch3==TRUE)
{+=3;
}(dlg15.ch4==TRUE)
{+=3;
}
}dlg16;(dlg16.DoModal()==IDOK)
{+=dlg16.m_otvet; \*присвоение переменной res значения ответа
16 вопроса\*
}dlg17;(dlg17.DoModal()==IDOK)
{+=dlg17.m_otvet; \*присвоение переменной res значения ответа
17 вопроса\*
}dlg18;(dlg18.DoModal()==IDOK)
{+=dlg18.m_otvet; \*присвоение переменной res значения ответа
18 вопроса\*
}dlg19;(dlg19.DoModal()==IDOK)
{(dlg19.c1==TRUE)
{+=3;
}(dlg19.c2==TRUE)
{+=0;
}(dlg19.c3==TRUE)
{+=3;
}(dlg19.ch4==TRUE)
{+=0;
}
}dlg20;(dlg20.DoModal()==IDOK)
{+=dlg20.m_otvet; \*присвоение переменной res значения ответа
20 вопроса\*
}_text.Format(L" сумма балов: %d", res);\*вывод
результат в текстовое поле\*(false);
// TODO: Add your control notification handler code here
}CProgrammTestDlg::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
}CProgrammTestDlg::OnBnClickedClose()
{
// TODO: Add your control notification handler code here
}CProgrammTestDlg::OnBnClickedCancel()
{
// TODO: Add your control notification handler code here();
}