Автор работы: Пользователь скрыл имя, 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
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__
#define AFX_KoddPOISK_H__2BDA3DEA_
#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_
CString m_strNaim;
CString m_strKod;
CString m_strKolvod;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(
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__
Файл кодов 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(
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(
{
CDialog::DoDataExchange(
//{{AFX_DATA_MAP(
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(
ON_BN_CLICKED(IDC_Kodd_
ON_BN_CLICKED(IDC_Kodd_
ON_BN_CLICKED(IDC_Kodd_
//}}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_
if (ind!=-1) //массиве номера записи (nomer) и индекса (ind)
{ //запись найдена
base.ChtenieZap(nomer); //чтение найденной записи
Output(base); //вывод записи в диалоговое окно
ind++;
GetDlgItem(IDC_NUMKodd)->
GetDlgItem(IDC_KOD)->
GetDlgItem(IDC_Naim)->
GetDlgItem(IDC_Kolvod)->
GetDlgItem(IDC_Kodd_SLED)->
GetDlgItem(IDC_Kodd_ZAM_UD)->
}
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_
if (ind!=-1) //массиве номера записи (nomer) и индекса (ind)
{ //запись найдена
base.ChtenieZap(nomer); //чтение найденной записи
Output(base); //вывод записи в диалоговое окно
ind++;
}
else//запись не найдена
Информация о работе Высокоуровневые методы информатики и программирования