Студопедия

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

Разделы сайта

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






Приложение с двумя диалоговыми панелями






Применим теперь библиотеку MFC для решения задачи о табулировании функции y = sin(x) – будем использовать классы MFC для разработки интерфейса пользователя программы.

Исходные данные задачи табулирования: количество расчетных точек, начальное и конечное значения аргумента x. Ограничение на исходные данные: количество расчетных точек должно быть больше 1.

Требуется вычислить значения функции y(x) в равноудаленных точках на заданном интервале значений x.

В интерфейс пользователя включим следующие элементы:

° главную диалоговую панель с меню и окном для вывода результатов табулирования (List Box);

° диалоговую панель для ввода исходных данных задачи.

Хранение данных организуем в главной диалоговой панели с помощью новых свойств, включенных в класс диалоговой панели.

Меню будет включать раздел Действия, состоящий из трех команд: Ввод данных, Вычисления, Выход.

Команда Ввод данных открывает модальную диалоговую панель для ввода данных; данные вводятся в окна редактирования Edit Box. Закрытие диалоговой панели производится кнопками OK или Cancel. Закрытие панели кнопкой OK сопровождается передачей данных в главную диалоговую панель. Выбор кнопки Cancel оставляет данные программы без изменений.

Команда Вычисления выполняет вычисления, только если исходные данные были изменены и соответствуют ограничениям задачи. Результаты вычислений выводятся в окно List Box главной диалоговой панели.

Рассмотрим последовательность действий для решения нашей задачи.

Создайте новый проект Dialogs – приложение MFC, основанное на диалоге (Dialog Based).

Настройте свойства главной диалоговой панели IDD_DIALOG1 – замените идентификатор на IDD_DIALOG_MAIN, установите русский язык; удалите кнопку Cancel, статический текст.

Добавьте элементы управления в главную диалоговую панель:

статический текст – IDC_STATIC для заголовка, свойству Caption элемента управления дайте значение «Результаты вычислений»;

окно со списком – IDC_LIST_RESULT для вывода результатов вычислений, свойство Sort (сортировка) отмените; с помощью ClassWizard свяжите с элементом управления переменную m_Result (категория – control).

Добавьте в проект новый ресурс – меню IDR_MENU1, в верхнем уровне которого создайте раздел Действия, в который включите команды Ввод данных, Вычисления, Выход. Свяжите меню с классом главной диалоговой панели и с ресурсом IDD_DIALOG_MAIN.

Добавьте в класс главной диалоговой панели CDialogsDlg в раздел private свойства для хранения данных задачи:

int n – количество точек,
double x_begin – начальное значение x,
double x_end – конечное значение x,
double x – текущее значение x,
double y – текущее значение функции,
int new_data – признак ввода новых данных (значение 1 соответствует получению новых исходных данных).

Добавление свойств выполняйте с помощью команды Add Member Variable из контекстного меню диаграммы ClassView.

Добавьте в класс главной диалоговой панели в раздел private функцию, вычисляющую значение заданной математической функции:

#include < math.h>

…………

double CDialogsDlg:: f(double t)

{






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.