Читати більше
Практика програмування мовою C++
Лістинг (ProgramDlg.h)
// ProgramDlg.h : header file
//
#pragma once
#define mtime 298
#define PI 3.1415926535897932384626433832795
// CProgramDlg dialog
class CProgramDlg : public CDialog
{
// Construction
public:
CProgramDlg(CWnd* pParent = nullptr); // standard constructor
// Dialog Data
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_PROGRAM_DIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
private:
COLORREF cf, c[25];
HFONT hold, hNew, hbk;
HPEN hPenOxy, hOldPen, pen;
HBRUSH m, oldm, brush;
CPen d, oldd;
CBitmap pic;
CRect rc, w, kw[30];
CString ms, t, z;
int Matrix[50][50];
int x1, y1, x2, y2, x3, y3, x4, y4;
int RH, RW, k, i, j, p, x, y, cx, cy, dx, dy;
bool fg;
int n;
float cena, sum;
DECLARE_MESSAGE_MAP()
public:
int N;
CStatic E;
CButton rad1;
CButton rad2;
CButton rad3;
afx_msg void OnBnClickedButton1();
};
Лістинг (ProgramDlg.cpp)
// ProgramDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Program.h"
#include "ProgramDlg.h"
#include "afxdialogex.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CProgramDlg dialog
CProgramDlg::CProgramDlg(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_PROGRAM_DIALOG, pParent)
, N(1)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CProgramDlg::DoDataExchange(CDataExchange* pDX)
{
fg = true;
SetWindowTextW(L"Фотоательє: цифрова фотографія");
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, N);
DDX_Control(pDX, IDC_E, E);
DDX_Control(pDX, IDC_RADIO1, rad1);
DDX_Control(pDX, IDC_RADIO2, rad2);
DDX_Control(pDX, IDC_RADIO3, rad3);
E.SetWindowTextW(L"Оберіть формат фото\nВведіть кількість знімків\nНатисніть <OK>");
}
BEGIN_MESSAGE_MAP(CProgramDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, &CProgramDlg::OnBnClickedButton1)
END_MESSAGE_MAP()
// CProgramDlg message handlers
BOOL CProgramDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
rad1.SetCheck(1);
rad2.SetCheck(0);
rad3.SetCheck(0);
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 CProgramDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectangle
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;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CProgramDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CProgramDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
UpdateData(true);
n = N;
UpdateData(false);
ms = L"Ваш вибір:\n";
if (rad1.GetCheck()) cena = 8.5;
else if (rad2.GetCheck()) cena = 10;
else if (rad3.GetCheck()) cena = 15.5;
sum = n * cena;
t.Format(L"Ціна: %3.1f грн\nКількість знімків: %i шт\nЗагальна сума: %4.1f грн", cena, n, sum);
ms += t;
E.SetWindowTextW(ms);
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
setlocale(LC_ALL, ".1251");
system("color 1F");
cout << "\n\tДоброго дня, оберiть формат фотографiї:";
cout << "\n\t1) 9x12";
cout << "\n\t2) 10x15";
cout << "\n\t3) 18x24";
cout << "\n\tВведiть номер формату >> ";
int k;
cin >> k;
float cena, sum;
cena = sum = 0;
if (k == 1) cena = 8.5;
else if (k == 2) cena = 10;
else if (k == 3) cena = 15.5;
cout << "\n\tВведiть кiлькiсть знiмкiв >> ";
int n;
cin >> n;
sum = n * cena;
printf("\n\tЦiна: %3.1f\n\tКiлькiсть: %i\n\tЗагальна сума: %4.1f", cena, n, sum);
cout << "\n\n\t";
system("pause");
return 0;
}
Умови використання матеріалів сайту
Використання матеріалів можливе лише за умови активного гіперпосилання на UaModna ( див. Правила* ). Для генерації коду посилання натисніть на кнопку
Думки, позиції, уподобання та заклики, опубліковані на нашому сайті, є власністю авторів і можуть не співпадати з поглядами редакції uamodna.com
Читати більше
Читати більше
Читати більше