![](/user_photo/1407_sTJSm.png)
Задание №8
Программа должна соответствовать следующим требованиям:
тип приложения Win32 – SDI;
ввод исходных данных производится посредством диалогового окна, вызываемого соответствующей командой меню (значения задаются в текстовых полях);
вывод результатов расчета осуществляется в окне документа.
#include "stdafx.h"
#include "z_8_nik.h"
#include "Zad.h"
#include "z_8_nikDoc.h"
#include "z_8_nikView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNCREATE(CZ_8_nikView, CView)
BEGIN_MESSAGE_MAP(CZ_8_nikView, CView)
//{{AFX_MSG_MAP(CZ_8_nikView)
ON_COMMAND(ID_ZADACHA_RESHEN, OnZadachaReshen)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
CZ_8_nikView::CZ_8_nikView()
{}
CZ_8_nikView::~CZ_8_nikView()
{
}
BOOL CZ_8_nikView::PreCreateWindow(CREATESTRUCT& cs)
{
return CView::PreCreateWindow(cs);
}
void CZ_8_nikView::OnDraw(CDC* pDC)
{
CZ_8_nikDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut(50,20,pDoc->S1);
pDC->TextOut(25,20,"X1=");
// TODO: add dracode for native data here
}
BOOL CZ_8_nikView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CZ_8_nikView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{void CZ_8_nikView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
#ifdef _DEBUG
void CZ_8_nikView::AssertValid() const
{
CView::AssertValid();
}
void CZ_8_nikView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CZ_8_nikDoc* CZ_8_nikView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CZ_8_nikDoc)));
return (CZ_8_nikDoc*)m_pDocument;
}
#endif //_DEBUG
{
CZ_8_nikDoc *pDoc=GetDocument();
ASSERT_VALID(pDoc);
Zad dlg;
dlg.DoModal();
//UpdateData(true);
pDoc->S1=dlg.m_z;
//UpdateData(false);
Invalidate();
}
*/
void CZ_8_nikView::OnZadachaReshen()
{
CZ_8_nikDoc *pDoc=GetDocument();
ASSERT_VALID(pDoc);
Zad dlg;
dlg.DoModal();
//UpdateData(true);
pDoc->S1=dlg.m_z;
//UpdateData(false);
Invalidate();
}
ЗАДАЧА 9
Задание №9
Программа должна быть представлена в виде диалогового приложения Win32с двумя вкладками. Выбор значения погрешностиEосуществляется с помощью раскрывающегося списка, расположенного на первой вкладке. Вывод результата в окне списка, расположенного на второй вкладке.
#include"stdafx.h"
#include "9.h"
#include "Page2.h"
//#include "9View.h"
#include "Page1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
double c;
IMPLEMENT_DYNCREATE(CPage2, CPropertyPage)
CPage2::CPage2() : CPropertyPage(CPage2::IDD)
{
//{{AFX_DATA_INIT(CPage2)
//}}AFX_DATA_INIT
}
CPage2::~CPage2()
{
}
void CPage2::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage2)
DDX_Control(pDX, IDC_LIST1, m_b);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
//{{AFX_MSG_MAP(CPage2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CPage2::OnApply()
{
CString str;
str.Format ("%f",c*10-3);
m_b.AddString (str);
SetModified (false) ;
return CPropertyPage::OnApply();
}
ЗАДАЧА 10
Задание №10
Программа должна быть представлена в виде диалогового приложения Win32. Исходные данные задаются в текстовых полях. Выбор значения погрешностиEосуществляется с помощью раскрывающегося списка. Вычисление сопровождается активацией элемента управленияProgress. Вывод результата в текстовых полях.
#include "stdafx.h"
#include "asdfgh.h"
#include "asdfghDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
ouble otv;
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CAsdfghDlg::CAsdfghDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAsdfghDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAsdfghDlg)
m_shag = 2.0;m_otv = 0.0;m_e = 0.0; m_h = 0.0; m_Xo = 0.0;
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CAsdfghDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAsdfghDlg)
DDX_Control(pDX, IDC_PROGRESS1, m_progress);
DDX_Text(pDX, IDC_EDIT1, m_shag);
DDX_Text(pDX, IDC_EDIT2, m_otv);
DDX_Text(pDX, IDC_EDIT3, m_e);
DDX_Text(pDX, IDC_EDIT4, m_h);
DDX_Text(pDX, IDC_EDIT5, m_Xo);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAsdfghDlg, CDialog)
//{{AFX_MSG_MAP(CAsdfghDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CAsdfghDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
return TRUE; // return TRUE unless you set the focus to a control
}
void CAsdfghDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
void CAsdfghDlg::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 CAsdfghDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CAsdfghDlg::reshenie()
{UpdateData(false);}
void CAsdfghDlg::OnOK()
{
UpdateData(true);
otv=3;
for (int i=1; i <= 120; i=i+m_shag)
{
otv = otv*i*m_e;
m_progress.SetRange(1,100);
m_progress.SetPos(i);
for (int z=1 ; z<10000000;z+=m_shag);
}
m_otv = otv;
UpdateData(false);
}