Высокоуровневые методы информатики и программирования

Автор работы: Пользователь скрыл имя, 24 Декабря 2010 в 15:49, курсовая работа

Краткое описание

Имеется полная применяемость деталей в изделиях: код изделия, код детали, наименование, количество деталей в одном изделии. Имеется план выпуска изделий: код изделия, наименование, количество. Рассчитать комплектовочную ведомость на изделие, задаваемое по запросу.

Содержание работы

Условия и постановка задачи……..………….………………………………………3
Распечатки листингов основных файлов:
Класс CIndex…………………………………………………….......…………..4
Класс CKodd………………………………………………………………………5
Класс CKodd…………………………………………………………………….8
Класс CFilesDlg……………………………………………………….….……10
Класс CKoddDobDlg…………………………………………….………………12
Класс CKoddProsm…………………………………………….………………...15
Класс CKoddPoisk…………………………………………….……...………….19
Класс CKolvoDobDlg…………………………………………………………...24
Класс CKolvoProsm…………………………………………………………….26
Класс CKolvoPoisk………………………………….…………………………..30
Класс CVedomDlg……………………………………………………………...34
Контрольный пример…………………………………………..……………………38

Содержимое работы - 1 файл

!КУРСАЧ.doc

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

    do

    {

      base.ChtenieZap(i);

      curr_rec_number=i;

      i++;

    }

    while (base.NumKodd=="");

    Output(base);

    CString rec_number;

    rec_number.Format("Запись 1 из %d",base.fact_kol);

    m_strNumber=rec_number;

    UpdateData(FALSE);

  } 

      return TRUE;  // return TRUE unless you set the focus to a control

}

void CKoddProsm::Output(CKodd& base)//вывод записи в текст. поля

{

  m_strNumKodd=base.NumKodd;    //присваивание знач. полей записи

  m_strKod=base.Kod;//переменным m_str…

  m_strNaim=base.Naim;

  m_strKolvod=base.Kolvod;

  UpdateData(FALSE); //знач. перем. m_str… - в текст. поля

} 

void CKoddProsm::OnBnClickedOk()

{

      // TODO: Add your control notification handler code here

      OnOK();

} 
 

Класс CKoddPoisk 

Файл заголовков KoddPoisk.h

#if !defined(AFX_KoddPOISK_H__2BDA3DEA_CA45_4AEA_8F1D_39D701522A6A__INCLUDED_)

#define AFX_KoddPOISK_H__2BDA3DEA_CA45_4AEA_8F1D_39D701522A6A__INCLUDED_ 

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

// KoddPoisk.h : header file

//

#include "Kodd.h"

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

// CKoddPoisk dialog 

class CKoddPoisk : public CDialog

{

// Construction

public:

  CKodd base; //объявление объекта класса CKodd в классе CKoddPoisk

  int ind; //индекс элемента индексного массива

  int nomer; //номер записи

  void Output(CKodd &base); //вывод записи в диалоговое окно

  void Input(CKodd &base); //ввод из текстовых полей в запись

  void ClearForm(); //очистка формы

  BOOL CheckInput(); //проверка ввода данных с клавиатуры 

      CKoddPoisk(CWnd* pParent = NULL);   // standard constructor 
 

// Dialog Data

      //{{AFX_DATA(CKoddPoisk)

      enum { IDD = IDD_KoddPOISK };

      CButton m_ctrlZamUd;

      CString m_strNumKodd;

      CString m_strNumKoddPoisk;

      CString m_strNaim;

      CString m_strKod;

      CString m_strKolvod;

      //}}AFX_DATA 
 

// Overrides

      // ClassWizard generated virtual function overrides

      //{{AFX_VIRTUAL(CKoddPoisk)

      protected:

      virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

      //}}AFX_VIRTUAL 

// Implementation

protected: 

      // Generated message map functions

      //{{AFX_MSG(CKoddPoisk)

      afx_msg void OnKoddPoisk();

      afx_msg void OnKoddSled();

      afx_msg void OnKoddZamUd();

      virtual BOOL OnInitDialog();

      //}}AFX_MSG

      DECLARE_MESSAGE_MAP()

}; 

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 

#endif // !defined(AFX_KoddPOISK_H__2BDA3DEA_CA45_4AEA_8F1D_39D701522A6A__INCLUDED_) 
 

Файл кодов KoddPoisk.cpp

// KoddPoisk.cpp : implementation file

// 

#include "stdafx.h"

#include "Kurs.h"

#include "KoddPoisk.h" 

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

extern int KoddMode; //объявление перем.,определение - в MainFrm

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

// CKoddPoisk dialog 
 

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

      : CDialog(CKoddPoisk::IDD, pParent)

{

      //{{AFX_DATA_INIT(CKoddPoisk)

      m_strNumKodd = _T("");

      m_strNumKoddPoisk = _T("");

      m_strNaim = _T("");

      m_strKod = _T("");

      m_strKolvod = (_T(""));

      {

  base.Init(); //вызов Init в конструкторе класса CKoddPoisk

  ind=0; //инициализ. индекса массива и

  nomer=0; //инициализ. номера записи

}  //в конструкторе класса CKoddPoisk 

      //}}AFX_DATA_INIT

} 
 

void CKoddPoisk::DoDataExchange(CDataExchange* pDX)

{

      CDialog::DoDataExchange(pDX);

      //{{AFX_DATA_MAP(CKoddPoisk)

      DDX_Control(pDX, IDC_Kodd_ZAM_UD, m_ctrlZamUd);

      DDX_Text(pDX, IDC_NUMKodd, m_strNumKodd);

      DDX_Text(pDX, IDC_NUMKodd_POISK, m_strNumKoddPoisk);

      DDX_Text(pDX, IDC_Naim, m_strNaim);

      DDX_Text(pDX, IDC_KOD, m_strKod);

      DDX_Text(pDX, IDC_Kolvod, m_strKolvod);

      //}}AFX_DATA_MAP

} 
 

BEGIN_MESSAGE_MAP(CKoddPoisk, CDialog)

      //{{AFX_MSG_MAP(CKoddPoisk)

      ON_BN_CLICKED(IDC_Kodd_POISK, OnKoddPoisk)

      ON_BN_CLICKED(IDC_Kodd_SLED, OnKoddSled)

      ON_BN_CLICKED(IDC_Kodd_ZAM_UD, OnKoddZamUd)

      //}}AFX_MSG_MAP

END_MESSAGE_MAP() 

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

// CKoddPoisk message handlers 
 
 
 

void CKoddPoisk::OnKoddPoisk()

{

      // TODO: Add your control notification handler code here

        ind=0; //индекс найденного элемента индексного массива

  nomer=0; //номер найденной записи

  UpdateData(TRUE); //значение текстового поля - в перем. m_str…

  if(m_strNumKoddPoisk=="")

  {

    MessageBox("Введите Код детали-поиск","Ошибка ввода",

    MB_ICONEXCLAMATION); //выводимое значение,

    return;   //заголовок, восклицат. знак

  }

  ind = base.poisk_ind(m_strNumKoddPoisk,ind,nomer); //поиск в инд.

  if (ind!=-1) //массиве номера записи (nomer) и индекса (ind)

  {  //запись найдена

    base.ChtenieZap(nomer); //чтение найденной записи

    Output(base); //вывод записи в диалоговое окно

    ind++;

    GetDlgItem(IDC_NUMKodd)->EnableWindow(TRUE);//доступн.

    GetDlgItem(IDC_KOD)->EnableWindow(TRUE);//элем.

    GetDlgItem(IDC_Naim)->EnableWindow(TRUE);//управл.

    GetDlgItem(IDC_Kolvod)->EnableWindow(TRUE);

    GetDlgItem(IDC_Kodd_SLED)->EnableWindow(TRUE);

    GetDlgItem(IDC_Kodd_ZAM_UD)->EnableWindow(TRUE);

  }

  else //запись не найдена

  {

    MessageBox("Запись не найдена","Ошибка",

    MB_ICONEXCLAMATION);

    ind=0;

    nomer=0;

    ClearForm(); //очистка формы

    return;

  } 

} 

void CKoddPoisk::OnKoddSled()

{

      // TODO: Add your control notification handler code here

        ind = base.poisk_ind(m_strNumKoddPoisk,ind,nomer); //поиск в инд.

  if (ind!=-1) //массиве номера записи (nomer) и индекса (ind)

  {  //запись найдена

    base.ChtenieZap(nomer); //чтение найденной записи

    Output(base); //вывод записи в диалоговое окно

    ind++;

  }

  else//запись не найдена

Информация о работе Высокоуровневые методы информатики и программирования