Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример выполнения лабораторной работы.






Задание: разработать программу, которая:

· генерирует массив целых чисел, сохраняя его в элементе управления ListBox, размерность массива задает пользователь в элементе управления EditBox (от 1 до 100 элементов);

· осуществляет расчет суммы элементов и среднего арифметического массива, вывод суммы элементов осуществляет с помощью функции вывода сообщения AfxMessageBox(), а вывод среднего арифметического – в дополнительное окно.

 

1) В среде Microsoft Developer Studio (Visual C ++)создаем проект на основе диалога. Для этого в пункте меню File -> New выбираем подпункт Projects.

Далее выбираем тип приложения на основе диалога (Dialog based) и нажимаем на кнопку «Finish».

После выполнения указанных действий в проекте автоматически будут созданы файлы в выбранной директории.

 

2) После генерации всех файлов вам будет показана заготовка будущей программы. Рядом будет отображена панель инструмента для создания интерфейса пользователя с программой. Нужно разместить необходимые элементы управления в окне приложения, при необходимости удалив уже имеющиеся по умолчанию кнопки и текстовый элемент.

Размещаем в окне приложения элемент управления EditBox для ввода количества элементов массива пользователем, элемент ListBox для вывода элементов массива, три кнопки. Первая кнопка – для вызова функции генерации массива и заполнения объекта класса CListBox. Вторая кнопка – для вывода суммы элементов с помощью функции вывода сообщения AfxMessageBox (). Третья кнопка – для вывода среднего арифметического элементов массива в дополнительное окно. Также добавляем подписи ко всем элементам управления с помощью элементов Static Text. Удаляем кнопку ОК. Модифицируем надписи на кнопках в пункте «Properties», вызываемом нажатием правой кнопки мыши на поле элемента управления. Полученный в результате перечисленных действий интерфейс пользователя представлен на рис. 1.

Рисунок 1 – Интерфейс приложения

 

3) Для отключения автоматической сортировки списка строк в элементе управления ListBox убираем галочку в поле Sort в пункте меню Properties, вызываемом нажатием правой кнопки мыши на поле элемента управления ListBox (рис. 2).

Рисунок 2 – Стили элемента управления ListBox

 

4) Добавляем в проект функции для созданных кнопок с помощью мастера Class Wizard, вкладка Message Maps (рис. 3).

Рисунок 3 – Создание заголовков функций для кнопок

 

5) Создаем переменные для элементов управления ListBox (рис. 4) и EditBox (рис. 5) с помощью мастера Class Wizard, вкладка Member Variables (рис 6). Назначаем ограничения для поля ввода данных пользователем с клавиатуры.

Рисунок 4 – Объявление переменной для элемента управления ListBox

 

Рисунок 5 – Объявление переменной для элемента управления EditBox

 

Рисунок 6 – Результат объявления переменных

 

 

6) Редактируем программный код функции генерации массива и заполнения списка в элементе ListBox, функция находится в файле с именем Имя_проектаDlg.cpp.

 

Для возможности работы с функциями time () и rand (), srand () добавляем в этот же файл в самом верху директивы препроцессора include для подключения необходимых библиотек time.h и stdlib.h.

 

 

// lara4Dlg.cpp: implementation file

//

 

#include " stdafx.h"

#include " lara4.h"

#include " lara4Dlg.h"

#include < stdlib.h> // для функции работы с псевдослучайными числами

#include < time.h> //для работы со временем

 

#ifdef _DEBUG

#define new DEBUG_NEW

 

Проверяем работу созданной функции (рис. 7).

Рисунок 7 – Результат работы функции, вызываемой при нажатии на кнопку «Генерация»

 

 

7) Редактируем программный код функции для расчета суммы элементов массива, функция находится в файле с именем Имя_проектаDlg.cpp.

Проверяем работу созданной функции (рис. 8).

Рисунок 8 – Результат работы функции, вызываемой при нажатии на кнопку «Сумма»

 

8) Для открытия дополнительного окна при выполнении третьей функции необходимо выполнить следующие действия:

8.1) Создаем второй диалог, который будет вызываться по нажатию третьей кнопки выбирая пункты меню InsertResourceDialog (рис. 9).

Рисунок 9 – Добавление диалога

 

8.2) Добавляем элементы управления в новый диалог: EditBox для вывода среднего арифметического элементов массива, подпись к нему, удаляем кнопку Cancel (рис. 10).

 

Рисунок 10 – Интерфейс нового диалога

 

8.3) Вызываем мастер Class Wizard для добавления переменной для нового элемента EditBox. Появляется сообщение о необходимости создания нового класса для этого диалогового окна (рис. 11).

Рисунок 11 – Сообщение о необходимости создания класса для нового диалога

 

Нажимаем кнопку ОК. В появившемся окне в верхнем поле задаем имя нового класса, например, CSecond (рис. 12). Опять нажимаем кнопку ОК.

 

 

Рисунок 12 – Задание имени класса дополнительного окна

 

8.4) Далее нужно создать переменную для элемента EditBox, служащую для вывода среднего арифметического элементов массива, во вкладке Member Variables мастера Class Wizard. Тип переменной задаем вещественный, т.к. результат будет получен с помощью деления, следовательно, он может быть дробным (рис. 13).

Рисунок 13 – Создание переменной во вкладке Member Variables

 

8.5) Для того, чтобы пользователь не имел возможности вводить данные с клавиатуры, изменяем стили (Read - only) элемента EditBox, служащего для вывода среднего арифметического, как показано на рис. 14.

 

Рисунок 14 – Изменение стилей элемента EditBox

 

8.6) Объявляем в классе основного диалога объект дополнительного диалога.

Для этого в файл Имя_проектаDlg.h (в данном примере lara4Dlg.h) добавляем строку:

 

CSecond Dlg1; // объявление объекта второго диалога

 

в раздел открытых элементов класса public (рис. 15).

 

8.7) Присоединяем заголовочный файл класса дополнительного диалога в файлы Имя_проекта.h и Имя_проектаDlg.h (см. расположенный выше программный код) с помощью директивы препроцессора include:

 

#include " Second.h"

 

Эту строку необходимо разместить в самом начале файлов.

 

8.8) Присоединяем ресурсы к дочернему диалогу с помощью директивы препроцессора (рис. 15) в файле Second.h (имя файла соответствует имени нового класса, созданного для дополнительного диалога):

 

#include " resource.h"

.

 

Рисунок 15 – Добавление ресурсов в класс дополнительного диалога

 

9) Редактируем программный код функции для расчета среднего арифметического элементов массива, функция находится в файле с именем Имя_проектаDlg.cpp.

Метод DoModal () отображает на экране дополнительное окно для вывода среднего арифметического элементов массива.

Проверяем работу созданной функции (рис. 16).

Рисунок 16 – Результаты работы функции, вызываемой по нажатию кнопки «Среднее арифметическое»

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.012 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал