1. Основные библиотеки и классы с функциями
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int const L=30;
char vid0[L],edn0[L],naz0[L];
int st0,dt10,dt20,dt30,om0,ng0;
class WORK
{ private:
char vid[L];
char edn[L];
int st;
public:
int get_st(){return st;}
char *get_vid(){return vid;}
char *get_edn(){return edn;}
void set_st(int st0){st=st0;}
void set_vid(char vid0[L]){strcpy(vid,vid0);}
void set_edn(char edn0[L]){strcpy(edn,edn0);}
};
class FIRMA
{ private:
WORK wr;
char naz[L];
int dt1,dt2,dt3,om,ng,ng1,ng2;
public:
int get_ng2(){return ng2;}
void set_ng2(int ng0){ng2=ng0;}
int get_ng1(){return ng1;}
void set_ng1(int ng0){ng1=ng0;}
int get_ng(){return ng;}
void set_ng(int ng0){ng=ng0;}
int get_dt1(){return dt1;}
int get_om(){return om;}
WORK &get(){return wr;}
int get_dt2(){return dt2;}
int get_dt3(){return dt3;}
char *get_naz(){return naz;}
void set_dt1(int dt10){dt1=dt10;}
void set_dt2(int dt20){dt2=dt20;}
void set_dt3(int dt30){dt3=dt30;}
void set_om(int om0){om=om0;}
void set_naz(char naz0[L]){strcpy(naz,naz0);}
};
class dannie
{ private:
FIRMA *x,*y,*z,*c,*v;
int m,k,s,f,p;
void xdelet(int j);
public:
dannie():m(0),k(0),s(0),f(0),p(0),x(NULL),y(NULL),z(NULL),c(NULL),v(NULL){}
dannie(dannie &w);
~dannie();
void xinputfile();
void xoutput();
void xoutputfile();
void xadd();
void xdelet();
void xalfsortfirm();
void xalfsortvid();
void xsortom();
void yperechen();
void youtput();
void ysortvid();
void ysortkolvo();
void youtputbinfile();
void yinputfile();
void zperechen();
void zoutput();
void zsortvid();
void zsortst();
void zoutputbinfile();
void zinputfile();
void cpoisk1();
void cpoisk2();
void csortdt();
void csortvid();
void csortom();
void csortst();
void coutput();
void coutputfile();
void vperechen();
void vsortedn();
void vsortvid();
void voutput();
void voutputfile();
voidvinputfile();
};
2. Основная программа
void main()
{int j;
dannie dn;
while(1) // начало цикла “МЕНЮ”
{ clrscr();
cout<<"1.Vvod iz faila.\n";
cout<<"2.Prosmotr.\n";
cout<<"3.Sohranenie.\n";
cout<<"4.Dobavlenie zapisi.\n";
cout<<"5.Udalenie zapisi.\n";
cout<<"6.Sortirovka po naz firmi.\n";
cout<<"7.Sortirovka po vidy.\n";
cout<<"8.Sortirovka po obemy.\n";
cout<<"9.Perechen vidov.\n";
cout<<"10.Perechen cen.\n";
cout<<"11.Perechen edinic.\n";
cout<<"12.Poisk.\n";
cout<<"13.Konec.\n";
cout<<"Vash vibor: ";
cin>>j;
switch(j){
case 1: dn.xinputfile();break;
case 2: dn.xoutput();getch();break;
case 3: dn.xoutputfile();break;
case 4: dn.xadd();break;
case 5: dn.xdelet();break;
case 6: dn.xalfsortfirm();break;
case 7: dn.xalfsortvid();break;
case 8: dn.xsortom();break;
case 9: dn.yperechen();menu1(dn);break;
case 10: dn.zperechen();menu2(dn);break;
case 11: dn.vperechen();menu3(dn);break;
case 12: menu4(dn);break;
case 13: cout<<"END.\n";getch();
exit(0);
default:
cout<< "Net punkta.\n";
cout<<"Povtorite vvod: ";
getch();
}
}
}