Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные Работы. По дисциплине Программирование на языке высокого уровня.doc
Скачиваний:
10
Добавлен:
20.05.2014
Размер:
108.03 Кб
Скачать

Задание №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);

}