Реферат по предмету "Информатика"


Создание приложений с использованием различных элементов

ЛАБОРАТОРНАЯ РАБОТА № 4-5

Цель.Практическое освоение навыков создания Windows-приложений, визуальное проектирование диалоговых панелей, однооконных и многооконных приложений,связывание элементов управления с событиями.

Программное обеспечение. ОС Windows; Visual C++

Оборудование.ПЭВМ IBM.


Порядок выполнения работы.

Создать проект программы.

Визуально спроектировать диалоговую панель.

Связать элементы управления с событиями.

Разработать отладочные тесты.

Загрузить систему программирования .

Создать программный модуль и запустить его на выполнение.

Выполнить отладку и получить результаты счета.

Оформить отчет, защитить лабораторную работу по контрольным вопросам и сдать преподавателю.


Содержание отчета.

Тема, цель и оборудование работы.

Индивидуальное задание.

Ход выполнения задания.

Исходные данные и протокол выполнения работы.

Выводы.


Индивидуальные задания

к лабораторной работе № 5.

Создать многооконное приложение в меню которого содержится пункт «ВЫЧИСЛЕНИЯ» и соответствующая кнопка на панели инструментов. При их выборе на экране должно появляться диалоговое окно, где согласно варианта задания по вводимых данным. Осуществляется расчет. Выбор расчета оргаанизовать с помощью кнопок или переключателей.

Вариант 5


Сумму элементов больших заданного числа;

Произведение положительных элементов


Код программы

// MainFrm.cpp : implementation of the CMainFrame class

//


#include "stdafx.h"

#include "L4_5.h"


#include "MainFrm.h"

#include "D.h"


#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif


/////////////////////////////////////////////////////////////////////////////

// CMainFrame


IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)


BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)

//{{AFX_MSG_MAP(CMainFrame)

ON_WM_CREATE()

ON_COMMAND(ID_BUTTON32771, OnButton32771)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()


static UINT indicators[] =

{

ID_SEPARATOR, // status line indicator

ID_INDICATOR_CAPS,

ID_INDICATOR_NUM,

ID_INDICATOR_SCRL,

};


/////////////////////////////////////////////////////////////////////////////

// CMainFrame construction/destruction


CMainFrame::CMainFrame()

{

// TODO: add member initialization code here

}


CMainFrame::~CMainFrame()

{

}


int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

return -1;

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP

| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||

!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

{

TRACE0("Failed to create toolbar\n");

return -1; // fail to create

}


if (!m_wndStatusBar.Create(this) ||

!m_wndStatusBar.SetIndicators(indicators,

sizeof(indicators)/sizeof(UINT)))

{

TRACE0("Failed to create status bar\n");

return -1; // fail to create

}


// TODO: Delete these three lines if you don't want the toolbar to

// be dockable

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);


return 0;

}


BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs) )

return FALSE;

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs


return TRUE;

}


/////////////////////////////////////////////////////////////////////////////

// CMainFrame diagnostics


#ifdef _DEBUG

void CMainFrame::AssertValid() const

{

CFrameWnd::AssertValid();

}


void CMainFrame::Dump(CDumpContext& dc) const

{

CFrameWnd::Dump(dc);

}


#endif //_DEBUG


/////////////////////////////////////////////////////////////////////////////

// CMainFrame message handlers


void CMainFrame::OnButton32771()

{

CD dial;

dial.DoModal();

}


// D.cpp : implementation file

//


#include "stdafx.h"

#include "L4_5.h"

#include "D.h"

#include "fstream.h"


#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif


/////////////////////////////////////////////////////////////////////////////

// CD dialog


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

: CDialog(CD::IDD, pParent)

{

//{{AFX_DATA_INIT(CD)

m_1 = 0;

m_2 = 0;

m_sl = 0;

m_p = 0;

//}}AFX_DATA_INIT

}


void CD::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CD)

DDX_Control(pDX, IDC_EDIT1, m_Edit);

DDX_Text(pDX, IDC_EDIT1, m_1);

DDX_Control(pDX, IDC_MSFLEXGRID1, m_GRID);

DDX_Text(pDX, IDC_EDIT2, m_2);

DDX_Text(pDX, IDC_EDIT3, m_sl);

DDX_Text(pDX, IDC_EDIT4, m_p);

//}}AFX_DATA_MAP

}


BEGIN_MESSAGE_MAP(CD, CDialog)

//{{AFX_MSG_MAP(CD)

ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

ON_BN_CLICKED(IDC_BUTTON2, OnButton2)

ON_BN_CLICKED(IDC_BUTTON3, OnButton3)

ON_BN_CLICKED(IDC_BUTTON4, OnButton4)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

int s,p=1;


/////////////////////////////////////////////////////////////////////////////

// CD message handlers


void CD::OnButton1()

{

UpdateData();

int c=m_1;

UpdateData(FALSE);

ofstream f("dat.txt",ios::app);

f<<c<<endl;

int sl=m_sl;

if (c>sl)

{

s+=c;

}

if(c>0)

{

p=p*c;

}

m_Edit.SetFocus();

}


void CD::OnButton2()

{

ofstream vs("vspom.txt");

vs<<s;

ofstream vs1("vspom1.txt");

vs1<<p;


m_GRID.SetColWidth(0,1000);

m_GRID.SetColWidth(1,1000);

m_GRID.SetColWidth(2,1000);

m_GRID.SetColWidth(3,1000);

m_GRID.SetRow(0);

m_GRID.SetCol(0);

m_GRID.SetText("1 столбец ");

m_GRID.SetCol(1);

m_GRID.SetText("2 столбец");

m_GRID.SetCol(2);

m_GRID.SetText("3 столбец");

m_GRID.SetCol(3);

m_GRID.SetText("4 столбец");

m_GRID.SetRow(1);

UpdateData();

char str[15] ;

int i;

ifstream ff("dat.txt");

i=0;

while (!ff.eof())

{

i=i+1;

for(int j=0;j<=3;j++)

{

m_GRID.SetCol(j);

m_GRID.SetRow(i);

ff.getline(str, sizeof(str)) ;

m_GRID.SetText(str);

}

}

}


void CD::OnButton3()

{

ifstream vs("vspom.txt");

vs>>s;

UpdateData();

m_2=s;

UpdateData(FALSE);

}


void CD::OnButton4()

{

ifstream vs1("vspom1.txt");

vs1>>p;

UpdateData();

m_p=p;

UpdateData(FALSE);

}


Протокол выполнения программы:



Вывод: Во время выполнения данной лабораторной работы я освоил навыки создания Windows-приложений, визуального проектирования диалоговых панелей, однооконных и многооконных приложений, связывания элементов управления с событиями.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.