|
5啊哈币
- #include<iostream>
- #include<string.h>
- #include<iomanip>
- #include<fstream>
- #include <cstdio>
- #include<math.h>
- using namespace std;
- //供应商类
- class Supplier{
- public:
- Supplier(int sup_no1=-1,char* supname1=" ",char* address1=" ",int telephone1=-1,int sup_num1=-1); //sup_no是供应商编号,supname是供应商名字,address是地址,telephone是电话,sup_num是供应商提供书的数量
- ~Supplier();
- int sup_no;
- int telephone;
- int sup_num;
- char* supname;
- char* address;
- };
- Supplier::Supplier(int sup_no1,char* supname1,char* address1,int telephone1,int sup_num1)
- {
- sup_no=sup_no1;
- telephone=telephone1;
- sup_num=sup_num1;
- supname=new char[strlen(supname1)+1];
- strcpy(supname,supname1);
- address=new char[strlen(address1)+1];
- strcpy(address,address1);
- }
- Supplier::~Supplier()
- {
- delete []supname;
- delete []address;
- }
- //供应商图书分类
- class SupIntrest:public Supplier{
- public:
- SupIntrest(int sup_no1,char* supname1,char* address1,int telephone1,int sup_num1,int snum1=-1,char* sup_style1=" "); // snum是类型编号,sup_style是类型名称
- ~SupIntrest();
- int snum;
- char* sup_style;
- };
- SupIntrest::SupIntrest(int sup_no1,char* supname1,char* address1,int telephone1,int sup_num1,int snum1,char* sup_style1):Supplier(sup_no1,supname1,address1,telephone1,sup_num1)
- {
- snum=snum1;
- sup_style1=new char[strlen(sup_style1)+1];
- strcpy(sup_style,sup_style1);
- };
- SupIntrest::~SupIntrest()
- {
- delete []sup_style;
- }
- //供应商图书分类类型
- class SupKind:public SupIntrest
- {
- public:
- SupKind(int sup_no1=-1,char* supname1=" ",char* address1=" ",int telephone1=-1,int sup_num1=-1,int snum1=-1,char* sup_style1=" "):SupIntrest(sup_no1,supname1,address1,telephone1,sup_num1,snum1,sup_style1)
- {}
- void supinsert();
- void supmodify();
- void supdel();
- void supshow();
- void setsup(int sup_no1)
- {
- sup_no=sup_no1;
- }
- void setsupname(char* supname1)
- {
- supname=new char[strlen(supname1)+1];
- strcpy(supname,supname1);
- }
- void setaddress(char* address1)
- {
- address=new char[strlen(address1)+1];
- strcpy(address,address1);
- }
-
- void settelephone(int telephone1)
- {
- telephone=telephone1;
- }
- void setsup_num(int sup_num1)
- {
- sup_num=sup_num1;
- }
- void setsnum(int snum1)
- {
- snum=snum1;
- }
- void setsup_style(char* sup_style1)
- {
- sup_style=new char[strlen(sup_style1)+1];
- strcpy(sup_style,sup_style1);
- }
- static int supcount;
- }sup[100];
- int SupKind::supcount=0;
- void SupKind::supinsert()
- {
- cout<<"供应商编号:"<<endl;
- cin>>sup_no;
- cout<<"供应商名称:"<<endl;
- cin>>supname;
- cout<<"供应商地址:"<<endl;
- cin>>address;
- cout<<"供应商电话:"<<endl;
- cin>>telephone;
- cout<<"供应类编号:"<<endl;
- cin>>snum;
- cout<<"供应的类型:"<<endl;
- cin>>sup_style;
- cout<<"供书的数量:"<<endl;
- cin>>sup_num;
- supcount++;
- }
- void SupKind::supmodify()
- {
- cout<<"++++请选择要进行的修改"<<endl;
- cout<<"1...修改编号"<<endl;
- cout<<"2...修改名称"<<endl;
- cout<<"3...修改地址"<<endl;
- cout<<"4...修改电话"<<endl;
- cout<<"5...修改数量"<<endl;
- cout<<"6...修改类型编号"<<endl;
- cout<<"7...修改具体类型"<<endl;
- int a;
- cin>>a;
- switch(a)
- {
- case 1:
- cout<<"输入新的编号:"<<endl;
- cin>>sup_no;
- break;
- case 2:
- cout<<"输入新的名称:"<<endl;
- cin>>supname;
- break;
- case 3:
- cout<<"输入新的地址:"<<endl;
- cin>>address;
- break;
- case 4:
- cout<<"输入新的电话:"<<endl;
- cin>>telephone;
- break;
- case 5:
- cout<<"输入新的数量:"<<endl;
- cin>>sup_num;
- break;
- case 6:
- cout<<"输入新的类型编号:"<<endl;
- cin>>snum;
- break;
- case 7:
- cout<<"输入新的类型:"<<endl;
- cin>>sup_style;
- break;
- default:
- return;
- }
- }
- void SupKind::supdel()
- {
- sup_no=-1;
- supname=" ";
- address=" ";
- telephone=-1;
- sup_num=-1;
- snum=-1;
- sup_style=" ";
- supcount--;
- }
- void supsearch()
- {
- cout<<"输入要查询的供应商的编号:"<<endl;
- int r,o=1;
- cin>>r;
- for(int i=0;i<SupKind::supcount;i++)
- {
- if(sup[i].sup_no==r)
- {
- cout<<setiosflags(ios::left)<<setw(15)<<"编号"<<setiosflags(ios::left)<<setw(10)<<"名称"<<setiosflags(ios::left)<<setw(10)<<"地址"<<setiosflags(ios::left)<<setw(10)<<"电话"<<setiosflags(ios::left)<<setw(10)<<"数量"<<setiosflags(ios::left)<<setw(10)<<"类型编号"<<setiosflags(ios::left)<<setw(10)<<"供书类型"<<endl;
- sup[i].supshow();
- o=0;
- }
- }
- if(o==0)
- cout<<"没有该编号,查询失败"<<endl;
- }
- void SupKind::supshow()
- {
- cout<<setiosflags(ios::left)<<setw(15)<<sup_no<<setiosflags(ios::left)<<setw(10)<<supname<<setiosflags(ios::left)<<setw(10)<<address<<setiosflags(ios::left)<<setw(10)<<telephone<<setiosflags(ios::left)<<setw(10)<<sup_num<<setiosflags(ios::left)<<setw(10)<<snum<<setiosflags(ios::left)<<setw(10)<<sup_style<<endl;
- }
- void suppri()
- {
- ofstream fout("供应商管理系统.txt");
- if(!fout)
- {
- cout<<"can not open output file"<<endl;
- }
- fout<<setiosflags(ios::left)<<setw(15)<<"编号"<<setiosflags(ios::left)<<setw(10)<<"名称"<<setiosflags(ios::left)<<setw(10)<<"地址"<<setiosflags(ios::left)<<setw(10)<<"电话"<<setiosflags(ios::left)<<setw(10)<<"数量"<<setiosflags(ios::left)<<setw(10)<<"类型编号"<<setiosflags(ios::left)<<setw(10)<<"供书类型"<<endl;
- for(int i=0;i<SupKind::supcount;i++)
- {
- fout<<setiosflags(ios::left)<<setw(15)<<sup[i].sup_no<<setiosflags(ios::left)<<setw(10)<<sup[i].supname<<setiosflags(ios::left)<<setw(10)<<sup[i].address<<setiosflags(ios::left)<<setw(10)<<sup[i].telephone<<setiosflags(ios::left)<<setw(10)<<sup[i].sup_num<<setiosflags(ios::left)<<setw(10)<<sup[i].snum<<setiosflags(ios::left)<<setw(10)<<sup[i].sup_style<<endl;
- }
- fout.close();
- cout<<"保存成功"<<endl;
- return;
- }
- void supmenu()
- {
- cout<<"======供应商管理系统======"<<endl;
- cout<<"1---添加供应商信息"<<endl;
- cout<<"2---修改供应商信息"<<endl;
- cout<<"3---删除供应商信息"<<endl;
- cout<<"4---查询供应商信息"<<endl;
- cout<<"5---显示供应商信息"<<endl;
- cout<<"6---保存数据"<<endl;
- cout<<"其他数字键---退出"<<endl;
- }
- int main()
- {
- for(;;)
- {
- supmenu();
- cout<<"请选择您要进行的处理"<<endl;
- int i;
- cin>>i;
- switch(i)
- {
- case 1:
- cout<<"请输入要添加的供应商的数量:"<<endl;
- int i,n;
- cin>>n;
- for(i=0;i<n;i++)
- {
- sup[SupKind::supcount].supinsert();
- }
- if(n==0)
- cout<<"无输入!!!"<<endl;
- else
- cout<<"输入完毕!!!"<<endl;
- break;
- case 2:
- cout<<"输入要修改的供应商的编号:"<<endl;
- int p;
- cin>>p;
- for(i=0;i<SupKind::supcount;i++)
- {
- if(sup[i].sup_no==p)
- {
- sup[i].supmodify();
- cout<<"修改成功!!!"<<endl;
- }
- }
- break;
- case 3:
- cout<<"输入要删除的供应商的编号"<<endl;
- int q;
- cin>>q;
- for(i=0;i<SupKind::supcount;i++)
- {
- if(sup[i].sup_no==q)
- {
- sup[i].supdel();
- }
- }
- for(;i<SupKind::supcount;i++)
- {
- SupKind temp;
- temp=sup[i];
- sup[i]=sup[i+1];
- sup[i+1]=sup[i];
- }
- break;
- case 4:
- supsearch();
- break;
- case 5:
- cout<<setiosflags(ios::left)<<setw(15)<<"编号"<<setiosflags(ios::left)<<setw(10)<<"名称"<<setiosflags(ios::left)<<setw(10)<<"地址"<<setiosflags(ios::left)<<setw(10)<<"电话"<<setiosflags(ios::left)<<setw(10)<<"数量"<<setiosflags(ios::left)<<setw(10)<<"类型编号"<<setiosflags(ios::left)<<setw(10)<<"供书类型"<<endl;
- for(i=0;i<SupKind::supcount;i++)
- sup[i].supshow();
- break;
- case 6:
- suppri();
- break;
- default:
- return 0;
- }
- }
- }
复制代码 |
|