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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

  }

  while (Kolvo.Kod=="");

  if (curr_rec_number>=Kolvo.kol)

  {

    MessageBox("Конец файла","Ошибка",

    MB_ICONEXCLAMATION);

    curr_rec_number=prev;

    fact_number=prev_fact;

  }

  else

  {

    Kolvo.ChtenieZap(curr_rec_number);

    Output(Kolvo);

    CString rec_number;

    rec_number.Format("Запись %d из %d",fact_number,

    Kolvo.fact_kol);

    m_strNumber=rec_number;

    UpdateData(FALSE);

  } 

      // TODO: Add your control notification handler code here

} 

void CKolvoProsm::OnBnClickedKolvoprosmKonec()

{

        int last_rec_number=-1;

 

  for (int i=0;i<Kolvo.kol;i++)

  {

    Kolvo.ChtenieZap(i);

    if (Kolvo.Kod!="")

      last_rec_number=i;

  }

  Kolvo.ChtenieZap(last_rec_number);

  Output(Kolvo);

  CString rec_number;

  rec_number.Format("Запись %d из %d",Kolvo.fact_kol,

  Kolvo.fact_kol);

  m_strNumber=rec_number;

  curr_rec_number=Kolvo.kol-1;

  fact_number=Kolvo.fact_kol;

  UpdateData(FALSE); 

      // TODO: Add your control notification handler code here

} 

void CKolvoProsm::OnBnClickedOk()

{

      // TODO: Add your control notification handler code here

      OnOK();

} 

BOOL CKolvoProsm::OnInitDialog()

{

      CDialog::OnInitDialog(); 

      // TODO:  Add extra initialization here

        if (Kolvo.fact_kol==0)

  {

    MessageBox("Файл пуст","Ошибка",

    MB_ICONEXCLAMATION);

    EndDialog(1);

  }

  else

  {

    fact_number=1;

    int i=0;

    do

    {

      Kolvo.ChtenieZap(i);

      curr_rec_number=i;

      i++;

    }

    while (Kolvo.Kod=="");

    Output(Kolvo);

    CString rec_number;

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

    m_strNumber=rec_number;

    UpdateData(FALSE);

  } 

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

      // EXCEPTION: OCX Property Pages should return FALSE

} 

void CKolvoProsm::Output(CKolvo& Kolvo)

{

  m_strKod=Kolvo.Kod;

  m_strKolvo=Kolvo.Kolvo;

  m_strNaim2=Kolvo.Naim2;

  UpdateData(FALSE);

} 
 

Класс CKolvoPoisk 

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

#pragma once

#include "afxwin.h" 

#include "Kolvo.h"

// CKolvoPoisk dialog 

class CKolvoPoisk : public CDialog

{

      DECLARE_DYNAMIC(CKolvoPoisk) 

public:

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

      virtual ~CKolvoPoisk();

        CKolvo Kolvo;

  int ind;

  int nomer;

  void Output(CKolvo &Kolvo);

  void Input(CKolvo &Kolvo);

  void ClearForm();

  BOOL CheckInput(); 
 

// Dialog Data

      enum { IDD = IDD_KolvoPOISK }; 

protected:

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

      DECLARE_MESSAGE_MAP()

public:

      afx_msg void OnBnClickedKolvoPoisk();

public:

      afx_msg void OnBnClickedKolvoSled();

public:

      afx_msg void OnBnClickedKolvoZamUd();

public:

      CString m_strKolvo;

public:

      CString m_strKodPoisk;

public:

      CButton m_ctrlZamUd;

public:

      virtual BOOL OnInitDialog();

public:

      CString m_strKod;

public:

      CString m_strNaim2;

}; 
 

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

// KolvoPoisk.cpp : implementation file

// 

#include "stdafx.h"

#include "Kurs.h"

#include "KolvoPoisk.h" 

extern int KolvoMode;

// CKolvoPoisk dialog 

IMPLEMENT_DYNAMIC(CKolvoPoisk, CDialog) 

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

      : CDialog(CKolvoPoisk::IDD, pParent)

      , m_strKolvo(_T(""))

      , m_strKodPoisk(_T(""))

      , m_strKod(_T(""))

      , m_strNaim2(_T(""))

{

Kolvo.Init();

ind=0;

nomer=0;

} 

CKolvoPoisk::~CKolvoPoisk()

{

} 

void CKolvoPoisk::DoDataExchange(CDataExchange* pDX)

{

      CDialog::DoDataExchange(pDX);

      DDX_Text(pDX, IDC_Naim2, m_strNaim2);

      DDX_Text(pDX, IDC_Kolvo, m_strKolvo);

      DDX_Text(pDX, IDC_KOD_POISK, m_strKodPoisk);

      DDX_Control(pDX, IDC_Kolvo_ZAM_UD, m_ctrlZamUd);

      DDX_Text(pDX, IDC_KOD, m_strKod);

} 

BEGIN_MESSAGE_MAP(CKolvoPoisk, CDialog)

      ON_BN_CLICKED(IDC_Kolvo_POISK, &CKolvoPoisk::OnBnClickedKolvoPoisk)

      ON_BN_CLICKED(IDC_Kolvo_SLED, &CKolvoPoisk::OnBnClickedKolvoSled)

      ON_BN_CLICKED(IDC_Kolvo_ZAM_UD, &CKolvoPoisk::OnBnClickedKolvoZamUd)

END_MESSAGE_MAP() 
 

// CKolvoPoisk message handlers 

void CKolvoPoisk::OnBnClickedKolvoPoisk()

{

        ind=0;

  nomer=0;

  UpdateData(TRUE);

  if(m_strKodPoisk=="")

  {

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

    MB_ICONEXCLAMATION);

    return;

  }

  ind = Kolvo.poisk_ind(m_strKodPoisk,ind,nomer);

  if (ind!=-1)

  {

    Kolvo.ChtenieZap(nomer);

    Output(Kolvo);

    ind++;

    GetDlgItem(IDC_KOD)->EnableWindow(TRUE);

    GetDlgItem(IDC_Naim2)->EnableWindow(TRUE);

      GetDlgItem(IDC_Kolvo)->EnableWindow(TRUE);

    GetDlgItem(IDC_Kolvo_SLED)->EnableWindow(TRUE);

    GetDlgItem(IDC_Kolvo_ZAM_UD)->EnableWindow(TRUE);

  }

  else

  {

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

    MB_ICONEXCLAMATION);

    ind=0;

    nomer=0;

    ClearForm();

    return;

  } 

      // TODO: Add your control notification handler code here

} 

void CKolvoPoisk::OnBnClickedKolvoSled()

{

        ind = Kolvo.poisk_ind(m_strKodPoisk,ind,nomer);

  if (ind!=-1)

  {

    Kolvo.ChtenieZap(nomer);

    Output(Kolvo);

    ind++;

  }

  else

  {

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

    MB_ICONEXCLAMATION);

    ind=0;

    ClearForm();

    GetDlgItem(IDC_Kolvo_SLED)->EnableWindow(FALSE);

    GetDlgItem(IDC_Kolvo_ZAM_UD)->EnableWindow(FALSE);

   return;

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