Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Курс / Практика / Отчёт по практике Матвиенко.doc
Скачиваний:
2
Добавлен:
30.05.2020
Размер:
783.36 Кб
Скачать

2.2 Завдання № 2

Реалізація простої програми на VC++, з використанням графічного інтерфейсу і бібліотеки MFC (Windows Application на основі діалогового вікна).

Код програми:

#include "iostream"

using namespace std;

void main()

{

float km, //Километраж

Litres, //Расход палива (л/100км)

Price; //Ціна одного літра палива

cout << "\n Way = "; //Вивести рядок

cin >> km; //Прочитати кілометраж

cout << "\n Litres = ";

cin >> Litres; //Прочитати витрата палива

cout << "\n Price = ";

cin >> Price; //Прочитати ціну одного літра

//Вивести результат

cout << "\n Result = " << (km/100)*Litres*Price << "\n";

}

Рис. 5 Результат 2 програми

2.3 Завдання № 3.

Створення графічного інтерфейсу на базі діалогового вікна VC++, з використанням перемикачів, прапорців. Реалізація алгоритмів, що розгалужуються.

Код програми:

#include "stdafx.h"

#include "lab_03.h"

#include "lab_03Dlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

CLab_03Dlg dialog

CLab_03Dlg::CLab_03Dlg(CWnd* pParent /*=NULL*/)

: CDialog(CLab_03Dlg::IDD, pParent)

{//{{AFX_DATA_INIT(CLab_03Dlg)

m_edLitres = 0.0f;

m_edPrice = 0.0f;

m_edWay = 0.0f;

m_edResult = 0.0f;

//}}AFX_DATA_INIT

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CLab_03Dlg::DoDataExchange(CDataExchange* pDX)

{CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CLab_03Dlg)

DDX_Text(pDX, IDC_EDIT1, m_edLitres);

DDX_Text(pDX, IDC_EDIT2, m_edPrice);

DDX_Text(pDX, IDC_EDIT3, m_edWay);

DDX_Text(pDX, IDC_EDIT4, m_edResult);

//}}AFX_DATA_MAP }

BEGIN_MESSAGE_MAP(CLab_03Dlg, CDialog)

//{{AFX_MSG_MAP(CLab_03Dlg)

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_RADIO1, OnVAZ)

ON_BN_CLICKED(IDC_RADIO2, OnGazel)

ON_BN_CLICKED(IDC_RADIO3, OnGAZ_66)

ON_BN_CLICKED(IDC_RADIO4, OnMers)

ON_BN_CLICKED(IDC_BUTTON2, OnResult)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

CLab_03Dlg message handlers

BOOL CLab_03Dlg::OnInitDialog()

{

CDialog::OnInitDialog();

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control

}

// 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.

void CLab_03Dlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

}

HCURSOR CLab_03Dlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

void CLab_03Dlg::OnVAZ()

{

m_edLitres = 6.5; //Расход топлива

m_edPrice = 17.5; //Цена одного литра

UpdateData(0); //Вывести данные в редакторы

}

void CLab_03Dlg::OnGazel()

{

m_edLitres = 12.3; //Расход топлива

m_edPrice = 15.5; //Цена одного литра

UpdateData(0); //Вывести данные в редакторы

}

void CLab_03Dlg::OnGAZ_66()

{m_edLitres = 30; //Расход топлива

m_edPrice = 12.7; //Цена одного литра

UpdateData(0); //Вывести данные в редакторы

}

void CLab_03Dlg::OnMers()

{

m_edLitres = 10; //Расход топлива

m_edPrice = 19.5; //Цена одного литра

UpdateData(0); //Вывести данные в редакторы

}

void CLab_03Dlg::OnResult()

{

UpdateData(1); //Получить данные из редакторов

m_edResult = (m_edWay/100)*m_edLitres*m_edPrice;

UpdateData(0); //Вывести данные в редакторы

}

Рис. 6 Результат 3 програми