Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программа с графическим интерфейсом WinApi

Автор:   •  Декабрь 6, 2020  •  Курсовая работа  •  2,845 Слов (12 Страниц)  •  486 Просмотры

Страница 1 из 12

Министерство образования и науки РФ

Федеральное государственное образовательное учреждение

высшего образования

«Ярославский государственный технический университет»

Курсовой проект защищен

с оценкой (                 )

Отчёт по курсовой работе по дисциплине «Программирование»

Пояснительная записка к курсовому проекту

по дисциплине

 «Программирование»

ЯГТУ 090304.65

Работу выполнил

 «___» ____________ 2019

2019

Введение:

 Windows API (application programming interfaces) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Майкрософт» выпускает библиотек, утилит и других инструментальных средств.

Задание:

разработать программу с графическим интерфейсом WinApi, осуществляющую табулирование функции: y = ( (х - 3.2^(х*2)) )/(x^2 + log(x^2+1) )*(i - 1/exp^(-х) ) на задаваемом интервале с задаваемым числом шагов, с дополнительной  функцией, позволяющей произвести пересчет с автоматическим увеличением числа шагов в выбираемое число раз: 2, 5, 10.

Описание используемых алгоритмов:

используем функцию создания окна CreateWindow для создания кнопки расcчёта и очищения, listbox и полей edit. Используем switch case обработки комманд.Функция GetWindowText копирует вводимые значения x1, x2 и количество шагов в буфер. Функция atof() преобразует значение buf типа char в величину типа double. Функция MessageBox создает, отображает на экране и оперирует окном сообщений, которое оповещает об ошибке ввода неверного значения. Используем стандартные математические функции, такие как log, cos, pow, exp. Pow используется для возведения в степень. Функция strcat() используется для соединения строк в одну. Функция SendMessage отправляет заданную строку в listbox. Используем цикл for для вывода всех значений в listbox. Условие создаем с помощью if. TextOut для вывода статичного текста на окно программы.

Инструкция по работе с программой:

1.Для работы с программой, заполните графы «Значение х1», «Значение х2», «Количество шагов», затем нажмите кнопку «Показать результат». На экране появится результат табулирования.  

[pic 1]

Рисунок 1

2.Для того, чтобы очистить данные и результаты табулирования, нажмите кнопку «Очистить».

[pic 2]

Рисунок 2

3. Для того, чтобы произвести пересчет с автоматическим увеличением числа шагов в выбираемое число раз: 2, 5, 10, кликните кнопку «УВЕЛИЧИТЬ ШАГИ В…», которая находится вв, затем выберите необходимое число. После этого выберите необходимое число. Изменится значение «количество шагов». На экране появится результат перерасчета. ерху окна

[pic 3]

Рисунок 3

Код:

#include <windows.h>

#include <math.h>

#include <stdio.h>

#define ID_EDIT 1

#define ID_EDIT 2

#define ID_EDIT 3

#define ID_BUTTON 10

#define ID_BUTTON 11

#define ID_LIST 100

#define CM_2   1000

#define CM_5   1001

#define CM_10  1002

PAINTSTRUCT ps;

  HDC hDC;

static HWND hEdit[3], hButton[2], hListBox;

double x1,x2 , y, shag, razmer_shaga;

char buff[256];

char buff0[256];//для хранения си строки

char buff1[256];

char buff2[256];

char buff3[256];

        

LRESULT CALLBACK WndProc(HWND , UINT, WPARAM, LPARAM );

void raschet(HWND hwnd){

        SendMessage(hListBox, LB_RESETCONTENT, 0, 0);

                GetWindowText(hEdit[1],buff,256);

                        x1=atof(buff);

                        buff[256]=0;

                        GetWindowText(hEdit[2],buff1,256);

                        x2=atof(buff1);

                        GetWindowText(hEdit[3],buff2,256);

                        shag=atof(buff2);

                                           razmer_shaga=(x2-x1)/shag;

...

Скачать:   txt (13 Kb)   pdf (244.2 Kb)   docx (73.6 Kb)  
Продолжить читать еще 11 страниц(ы) »
Доступно только на Essays.club