Создание Создание
Просмотр Просмотр
Удаление Удаление
Замена Замена
Выход Выход
upr.cpp
#include "itog.hpp"
char imf_post[13]; // для хранения файла данных Справочник поставщиков
char imf_potr[13]; //для хранения данных Справочник потребностей
itog obj(imf_post,imf_potr); // объявление объекта класса ved
void podmenu(int n,int x) ) // функция подменю реализует две формы
//подменю и вызывает элемет-функции sozdanie и correct классов
//akt и cena, n – номер подменю (0 – akt, 1 – cena), x – номер
//колонки вывода подменю
{
char ch;
char*m[]={"Ввод ",
"Поиск ",
"Замена ",
"Просмотр”;
"Удаление",
"Выход "};
int pos[6];
_setcursortype(_NOCURSOR);
gotoxy(1,23);
clreol();
cputs("Выберете пункт меню и нажмите <Enter>");
for (int k=0;k<6;k++)
{
if (k==0)
textattr(0+(2<<4));
else
textattr(0+(7<<4));
gotoxy(x,3+k);
pos[k]=wherey();
cputs(m[k]);
}
k=0;
for(;;)
{
ch=getch();
if (ch==13) break;
if (ch==0)
{
ch=getch();
switch (ch)
{
case 80: if (k==5) continue;
gotoxy (x,pos[k]);
textattr (0+(7<<4));
cputs(m[k]);
k++;
gotoxy (x,pos[k]);
textattr(0+(2<<4));
cputs(m[k]);
textattr (15+(0<<4));
break;
case 72: if (k==0) continue;
gotoxy (x,pos[k]);
textattr(0+(7<<4));
cputs(m[k]);
k--;
gotoxy(x,pos[k]);
textattr(0+(2<<4));
cputs(m[k]);
textattr(15+(0<<4));
break;}
}
}
textattr(15+(0<<4));
_setcursortype(_NORMALCURSOR);
switch(k)
{
case 0:if (n==0) obj.post::sozdanie(); // Вызов функции класса post
if (n==1) obj.potr::sozdanie(); //вызов функции класса potr
break;
case 1:
case 2:
case 3:if (n==0) obj.post::correct(k);
if (n==1) obj.potr::correct(k);
case 4:if (n==0) obj.post::prosmotr();
if (n==1) obj.potr::prosmotr();
case 5:break;
}
if (k!=5) podmenu(n,x); //Рекурсивный вызов функции
}
void menu() // функция menu вызывает функцию podmenu и элемент-
//функцию sozdanie класса itog
{
char ch;
char*m[]={"Справочник поставщиков ",
"Справочник потребностей ",
"Расчет ",
"Выход"};
int pos[4];
clrscr();
_setcursortype(_NOCURSOR);
gotoxy(1,23);
cputs("Выберете пункт меню с помощью(-> и <-) и нажмите <Enter>");
gotoxy(16,1);
for (int k=0;k<4;k++)
{
if (k==0)
textattr(0+(2<<4));
else
textattr(0+(7<<4));
pos[k]=wherex();
cputs(m[k]);
}
k=0;
for(;;)
{
ch=getch();
if (ch==13) break;
if (ch==0 && kbhit())
{
ch=getch();
switch (ch)
{
case 77:if (k==3) continue;
gotoxy (pos[k],1);
textattr (0+(7<<4));
cputs (m[k]);
k++;
gotoxy (pos[k],1);
textattr(0+(2<<4));
cputs(m[k]);
textatt r(15+(0<<4));
break;
case 75:if (k==0) continue;
gotoxy (pos[k],1);
textatt r (0+(7<<4));
cputs(m[k]);
k--;
gotoxy (pos[k],1);
textattr (0+(2<<4));
cputs(m[k]);
textattr (15+(0<<4));
break;}
}
}
textattr(15+(0<<4));
_setcursortype(_NORMALCURSOR);
switch (k)
{
case 0:
case 1:podmenu(k,pos[k]); // вызов внешней функции
break;
case 2:obj.sozdanie(); // вызов элемент-функции класса itog
break;
case 3: break;
}
if (k!=3) menu();
return;
}
void ramka(int x1,int y1,int x2, int y2, int vid)
{
const int m[2][6]={218,191,192,217,196,179,201,187,200,188,205,186};
gotoxy(x1,y1);
putch(m[vid][0]);
for (int x=x1+1; x<x2; x++)
putch(m[vid][4]);
putch(m[vid][1]);
gotoxy(x1,y2);
putch(m[vid][2]);
for (x=x1+1; x<x2; x++)
putch(m[vid][4]);
putch(m[vid][3]);
for (int y=y1+1; y<y2; y++)
{
gotoxy(x1,y);
putch(m[vid][5]);
gotoxy(x2,y);
putch(m[vid][5]);
}
gotoxy(30,7);
cout<<"Курсовая работа ";
gotoxy(31,9);
cout<<"по дисциплине";
gotoxy(14,11);
cout<<"\"Основы алгоритмизации и языки программирования"";
gotoxy(33,13);
cout<<"на тему";
gotoxy(20,15);
cout<<"\"Расчет потребностей потребителей\"";
gotoxy(50,17);
cout<<"Выполнила: Герасимова Л.А.";
gotoxy(50,19);
cout<<"Проверил: Павлов Ф.Ф.";
gotoxy(30,23);
cout<<"Нажмите <Enter>";
return;
}
void zadacha()
{
clrscr();
gotoxy(30,9);
cout<<"УСЛОВИЕ ЗАДАЧИ";
gotoxy(15,12);
cout<<"Имеются данные о поставщиках: наименование";
gotoxy(15,13);
cout<<"поставщика, код изделия, мощность поставщика.";
gotoxy(15,14);
cout<<"Имеется справочник потребности: код изделия,";
gotoxy(15,15);
cout<<"наименование изделия, потребность потребителя.";
gotoxy(15,16);
cout<<"Определить изделия по которым потребность";
gotoxy(20,17);
cout<<"превышает мощность";
gotoxy(30,20);
cout<<"Нажмите <Enter>";
return;
}
main() // функция main вызывает элементы-функции init классов post и potr и
//функцию menu
{
char ch;
clrscr();
do
{
ramka(5,5,75,21,1);
ch=getch();
zadacha();
ch=getch();
}
while (ch!=13);
clrscr();gotoxy(2,23);
cout<<"Введите имя файла Справочник поставщиков: ";
cin>>imf_post;
gotoxy(2,23);
clreol();
cout<<"Введите имя файла Справочник потребностей: ";
cin>>imf_potr;
obj.post::init(); // вызов элемент-функции класса post
оbj.potr::init(); // вызов элемент-функции класса potr
menu(); // вызов внешней функции
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.