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

Автор работы: Пользователь скрыл имя, 09 Ноября 2010 в 20:42, Не определен

Описание работы

Лабораторная работа

Файлы: 1 файл

ЛАБОРАТОРНАЯ РАБОТА4-5.doc

— 117.50 Кб (Скачать файл)

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

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

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

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

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

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

  1. Создать проект программы.
  2. Визуально спроектировать диалоговую панель.
  3. Связать элементы управления с событиями.
  4. Разработать отладочные тесты.
  5. Загрузить систему программирования  .
  6. Создать программный модуль и запустить его на выполнение.
  7. Выполнить отладку и получить результаты счета.
  8. Оформить отчет, защитить лабораторную работу по контрольным вопросам и сдать преподавателю.
 
 

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

  1. Тема, цель и оборудование работы.
  2. Индивидуальное задание.
  3. Ход выполнения задания.
  4. Исходные данные и протокол выполнения работы.
  5. Выводы.
 
 

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

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

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

Вариант 5 

  1. Сумму элементов больших  заданного числа; 
  2. Произведение положительных элементов
 
 

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

// 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);

} 
 
 

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