Создание Windows приложения с использованием Win API и библиотек классов MFC

Автор: Пользователь скрыл имя, 11 Марта 2012 в 12:54, курсовая работа

Описание работы

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

Содержание

Техническое задание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.Разработка алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Разработка математического алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Разработка схемы алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Разработка схемы математического алгоритма. . . . . . . . . . . . . . . . . 6
Разработка схемы общего алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . .7
2.Разработка Программы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.Вычислительный эксперимент. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

Работа содержит 1 файл

Отчет по курсовой работе мой1.docx

— 178.09 Кб (Скачать)

if(func1(x)>=func2(x))

 

 

Рисунок 5 - Продолжение

       Sum1=(Sum1+(func1(x)-func2(x))); //Проверка расположения функций относительно друг друга и расчет суммы

else

Sum1=(Sum1+(func2(x)-func1(x))); //Проверка расположения функций относительно друг друга и расчет суммы

}

 

Sum2=0;

for(i=0;i<n;)

{

x1=a+i*h;

i++;

 

x2=a+i*h;

x=(x1+x2)/2;

 

if(func1(x)>=func2(x))

Sum2=(Sum2+(func1(x)-func2(x))); //Проверка расположения функций относительно друг друга и расчет суммы

else

Sum2=(Sum2+(func2(x)-func1(x))); //Проверка расположения функций относительно друг друга и расчет суммы

}

 

if(func1(a)>=func2(a))

f_0=func1(a)-func2(a); //Проверка расположения функций относительно друг друга и расчет их значения в начале интегрирования

else

f_0=func2(a)-func1(a); //Проверка расположения функций относительно друг друга и расчет их значения в начале интегрирования

if(func1(b)>=func2(b))

f_N=func1(b)-func2(b); //Проверка расположения функций относительно друг друга и расчет их значения в конце интегрирования

else

f_N=func2(b)-func1(b); //Проверка расположения функций относительно друг друга и расчет их значения в конце интегрирования

 

S=((2*Sum1+4*Sum2+f_0+f_N)*h)/6; //Расчет площади интеграла

 

STS.Empty();

STS = dec_to_leac(S);

 

UpdateData(false);

}

//=========================================================================================

 

 

 

 

Рисунок 5 - Продолжение

 

 

 

 

 

 

 

 

 

 

 

 

3 Вычислительный эксперимент

 

Окно программы представлено на рисунке 6.

Рисунок 6 – Окно программы

 

Окно справки представлено на рисунке 7.

Рисунок 7 – Окно справки

 

Вычислительный эксперимент  №1.

Вводимые и выводимые  данные приведены в таблице 2

Результат вычислительного  эксперимента представлен на рисунке 8

A

B

C

a

b

n

S

2.0

3.0

4.0

-4.0

5.0

30.0

5E.EE7C5A540954000


Таблица 2- Вводимые и выводимые  данные

 

Рисунок 8 – Результат вычислительного  эксперимента №1

 

 

 

 

 

 

 

 

 

 

 

 

Вычислительный эксперимент  №2.

Вводимые и выводимые  данные приведены в таблице 3

Результат вычислительного  эксперимента представлен на рисунке 9

A

B

C

a

b

n

S

-3.0

-3.0

-3.0

0.0

2.0

5.0

B.9F67C0444887800


 

Таблица 3 - Вводимые и выводимые данные

Рисунок 9 – Результат вычислительного  эксперимента №2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычислительный эксперимент  №3.

Вводимые и выводимые  данные приведены в таблице 4

Результат вычислительного  эксперимента представлен на рисунке 10

A

B

C

a

b

n

S

1.0

1.0

1.0

1.0

3.0

100.0

D.7A56DF1C04D2000


Таблица 4 - Вводимые и выводимые данные

 

Рисунок 10 – Результат вычислительного  эксперимента №3

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

В процессе выполнения представленной курсовой работы были приобретены навыки по созданиюWindows-приложения с использованием WinAPI и библиотеки классов MFC.

Разработанный программный  продукт работает исправно, что подтверждается результатами вычислительного эксперимента.

 

Список литературы

 

 

  1. Название:«Visual С++ на примерах»

          Автор:Довбуш Г.Ф.;Хомоненко А.Д. (ред.)

          Издательство: БХВ-Петербург

          Год: 2007

  1. Название: «Visual С++. Разработка Windows-приложений с помощью MFC и API-функций»

Автор: Давыдов В. Г.

          Издательство: БХВ-Петербург

           Год: 2008

  1. Название: «Программирование под Windows в среде Visual C++ 2005»

  Автор: Свиркин М.В и ЧуркинА.С.:

  Издательство: СПбГУ

 Год: 2005

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А. Руководство  оператора

 

Список переменных, входных  и выходных данных:

 

•Входные данные (задаваемые пользователем в диалоговом режиме):

 

A, B, C – коэффициенты исходных функций:  y=A*x+B и y=A*x2*cos(B*x+C)

n – Диаметр разбиения: параметр, используемый при расчёте шага интегрирования: dx = (a –b)/n.

a – Начало интервала интегрирования.

b – Конец интервала интегрирования.

 

•Выходные данные:

 

S – Значение искомой площади.

 

•Описание работы  кнопок:

 

«График» – При нажатии кнопки «Построить графики», происходит построение графиков функций и границ интегрирования.

«Расчёт» - При нажатии кнопки «Рассчитать площадь» программа производит расчёт площади, ограниченной исходными функциями и границами интегрирования (расчёт площади производится методом трапеций)  и выводит её числовое значение в поле «S».

«Справка» - При нажатии кнопки «Справка», происходит  вызов окна справки.

«Выход» - При нажатии кнопки «Выход» происходит завершение программы.

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение B. Руководство программиста

 

Классы  программы:

CKursovoyDlg – Основной класс, используемый для построения главного окна программы.

CAboutDlg -  Класс, используемый для построения окна справки.

 

Список функций, используемыx в программе:

 

void OnPaint (void) – Функция, используемая для построения главного диалогового окна.

void Check_error (void) – Функция, которая выводит ошибки при некорректном вводе данных.

void OnBnClickedButton1 (void) – Функция кнопки «Справка», вызывающая окно справки при нажатии на кнопку.

void OnBnClickedButton2 (void) – Функция кнопки «График», вызывает 2 функции – функцию построения графика и функцию проверки на ошибки.

void OnBnClickedButton3 (void) – Функция кнопки «Расчет», вызывает 2 функции – функцию расчета и функцию проверки на ошибки.

void DrawAxis (void) – Функция, используемая при закрашивании области, в которой будет построен график, и прорисовке черной рамки, по контуру области.

void FillRect (void) – Функция, используемая при закрашивании области, в которой будет построен график.

void DrawBorder (void) – Функция, используемая при прорисовке черной рамки по контуру области.

void DrawLim (void) – Функция, используемая при построении границ интегрирования.

void DrawGraph (void) – Функция, строящая график функции y=A*x+B.

void DrawGraph2 (void) – Функция, строящая график функции y=A*x2*cos(B*x+C).

double lea_to_dec(CString lea) – Функция перевода передаваемой строки с числом любой системы счисления и перевод ее в число десятиричной системы.

CString dec_to_leac(double A) – Функция перевода числа десятиричной системы счисления и конвертирование его в передаваемую строку.

double func_1(double x) –  (return x) – Функция, возвращающая значение func_1        (func_1=A*x+B).

double func_2(double x) –  (return x) – Функция, возвращающая значение func_2        (func_2=A*x2*cos(B*x+C)).

void Calculation (void) – Функция, производящая расчёт площади методом Симпсона.

 

Список подключаемых файлов и библиотек:

· "stdafx.h" - заголовочный файл для стандартного "каркаса" приложения;

· "Kursovoy.h" - заголовочный файл приложения;

· "KursovoyDlg.h" - заголовочный файл класса KursovoyDlg;

· "afxdialogex.h"

· "math.h" - заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций;

· "afxwin.h" – заголовочный файл, который содержит описание основных классов библиотеки и сводит воедино все включаемые файлы, необходимые для работы MFC

 

 

 


Информация о работе Создание Windows приложения с использованием Win API и библиотек классов MFC