Автор работы: Пользователь скрыл имя, 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
m_strKolvod="";
m_strStoim="";
m_strKod="";
UpdateData(FALSE);
GetDlgItem(IDC_NUMKodd)->
GetDlgItem(IDC_KOD)->
int nomer;
base.Init();
Kolvo.Init();
int cur_result=0;
int total_result=0;
int pr=0;
int nomer1;
for (nomer1=0; (nomer1=base.poisk_ind (m_strNumKoddPoisk,nomer1,
{
base.ChtenieZap(nomer);
m_strNumKodd=base.NumKodd;
UpdateData(FALSE);
int nomer2=0;
pr=1;
if
((nomer2=Kolvo.poisk_ind(base.
{
Kolvo.ChtenieZap(nomer);
pr=1;
cur_result=(((StringToInt(
CString rez;
m_ctrlKod.GetWindowText(rez);
m_strKod=rez+AddSpaces(base.
m_ctrlNaim.GetWindowText(rez);
m_strNaim=rez+AddSpaces(base.
m_ctrlKolvod.GetWindowText(
m_strKolvod=rez+AddSpaces(
m_ctrlStoim.GetWindowText(rez)
CString cur_rez;
cur_rez.Format("%i",cur_
m_strStoim=rez+AddSpaces(
UpdateData(FALSE);
total_result+=cur_result;
}
else
{
if (Kolvo.Kolvo="")
{
CString st;
st="Код изделия №"+base.Kod+" не найдены в файле";
MessageBox(st,"Ошибка ввода",MB_ICONEXCLAMATION);
}
else
{
CString st;
st="Наименование"+base.Naim+" или цена не найдены в файле";
MessageBox(st,"Ошибка ввода",MB_ICONEXCLAMATION);
}
}
}
if ((nomer1==-1)&& (!pr))
{
CString st;
st="Код детали "+m_strNumKoddPoisk+" не найден в файле";
MessageBox(st,"Ошибка ввода",MB_ICONEXCLAMATION);
return;
}
CString st;
st.Format("%i",total_result);
m_strResult=st;
UpdateData(FALSE);
}
int CVedomDlg::StringToInt(CString st)//преобраз. текста в целое
{
int ten=1;
int rez=0;
int Char;
st.TrimLeft();//удаление ведущих пробелов из строки
st.TrimRight();//удаление хвостовых пробелов из строки
for (int i=st.GetLength()-1;i>=0;--i)
{
Char=st.GetAt(i);//считыв. символа в заданной позиции
if (Char==45)//45-код ‘-‘, 48-код ‘0’
return rez*(-1);
Char=Char-48;
rez=rez+(Char*ten);
ten=ten*10;
}
return rez;
}
CString CVedomDlg::AddSpaces(CString st, int len)
{
CString rez;
rez=st;
int string_len=st.GetLength();
for (int i=string_len;i<=len;i++)
rez+=" ";
return rez;
// TODO: Add your control notification handler code here
}
BOOL CVedomDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
GetDlgItem(IDC_NUMKodd)->
GetDlgItem(IDC_KOD)->
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
Контрольный
пример
Имеются два файла: Kodd1.Kodds и Kolvo1.Kolvos.
В меню Файл выберем команду Имена файлов и укажем путь к файлам Kodd1.Kodds и и Kolvo1.Kolvos.
Содержимое этих
файлов представлено в таблицах:
Kodd1.Kodds
Код детали | Код изделия | Наименование | Кол-во деталей |
1 | 2 | Bolt | 16 |
1 | 15 | Gaika | 40 |
2 | 4 | Kluch | 65 |
2 | 13 | Stanok | 80 |
3 | 8 | Otvertka | 120 |
Kolvo1.Kolvos
Код изделия | Кол-во Наименование |
2 | 5 |
4 | 1 |
8 | 8 Stul |
13 | 30 |
15 | 16 |
В меню Изделиях выберем:
Код детали | Код изделия | Наименование | Кол-во деталей |
4 | 20 | Koleso | 60 |
Например, введем Код детали 2, программа выведет соответствующие данные по коду изделия 4, пролистнем запись один раз. Изменим плановое выполнение выпуска по коду изделия 13 на 80, а кол-во – 100. Тогда файл Kodd1.Kodds будет содержать следующие данные:
Код детали | Код изделия | Наименование | Кол-во деталей |
1 | 2 | Bolt | 16 |
1 | 15 | Gaika | 40 |
2 | 4 | Kluch | 65 |
2 | 13 | Stanok | 100 |
3 | 8 | Otvertka | 120 |
4 | 20 | Koleso | 60 |
Например, введем
Кол-во деталей 3, программа выведет соответствующие
данные детали 3. Нажмем на кнопку Удалить.
Тогда файл Kodd1.Kodds будет содержать следущие
данные:
Код детали | Код изделия | Наименование | Кол-во деталей |
1 | 2 | Bolt | 16 |
1 | 15 | Gaika | 40 |
2 | 4 | Kluch | 65 |
2 | 13 | Stanok | 100 |
4 | 20 | Koleso | 60 |
В меню План выберем:
Код изделия | Кол-во |
20 | 34 |
команду Просмотр и, пролистав записи, увидим содержимое файла Kolvo1.Kolvos. Если количество щелчков превысет количество записей то возникнет окно «Конец файла»;
Например, введем
Код изделия 15, программа выведет соответствующие
данные о количестве данного изделия
(16). Изменим кол-во на 20. Тогда файл Kolvo1.Kolvos
будет иметь следущие данные:
Код изделия | Кол-во |
2 | 5 Mashina |
4 | 1 |
8 | 8 |
13 | 30 |
15 | 20 |
20 | 34 |
Информация о работе Высокоуровневые методы информатики и программирования