搜索
查看: 199|回复: 0

弹出的黑框什么都不显示

[复制链接]
 楼主| 发表于 2020-1-8 14:53:20 | 显示全部楼层 |阅读模式
5啊哈币
  1. #include<iostream>
  2. #include<string.h>
  3. #include<iomanip>
  4. #include<fstream>
  5. #include <cstdio>
  6. #include<math.h>
  7. using namespace std;

  8. //供应商类
  9. class Supplier{
  10.     public:
  11.     Supplier(int sup_no1=-1,char* supname1=" ",char* address1=" ",int telephone1=-1,int sup_num1=-1);    //sup_no是供应商编号,supname是供应商名字,address是地址,telephone是电话,sup_num是供应商提供书的数量
  12.     ~Supplier();
  13.     int sup_no;
  14.     int telephone;
  15.     int sup_num;
  16.     char* supname;
  17.     char* address;
  18. };
  19. Supplier::Supplier(int sup_no1,char* supname1,char* address1,int telephone1,int sup_num1)
  20. {
  21.     sup_no=sup_no1;
  22.     telephone=telephone1;
  23.     sup_num=sup_num1;
  24.     supname=new char[strlen(supname1)+1];
  25.      strcpy(supname,supname1);
  26.     address=new char[strlen(address1)+1];
  27.      strcpy(address,address1);
  28. }
  29. Supplier::~Supplier()
  30. {
  31.     delete []supname;
  32.     delete []address;
  33. }

  34. //供应商图书分类
  35. class SupIntrest:public Supplier{
  36.     public:
  37.     SupIntrest(int sup_no1,char* supname1,char* address1,int telephone1,int sup_num1,int snum1=-1,char* sup_style1=" ");  // snum是类型编号,sup_style是类型名称
  38.     ~SupIntrest();
  39.     int snum;
  40.     char* sup_style;
  41. };
  42. 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)
  43. {
  44.     snum=snum1;
  45.     sup_style1=new char[strlen(sup_style1)+1];
  46.     strcpy(sup_style,sup_style1);
  47. };
  48. SupIntrest::~SupIntrest()
  49. {
  50.     delete []sup_style;
  51. }


  52. //供应商图书分类类型
  53. class SupKind:public SupIntrest

  54. {
  55.     public:
  56.     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)
  57.     {}
  58.     void supinsert();
  59.     void supmodify();
  60.     void supdel();
  61.     void supshow();
  62.     void setsup(int sup_no1)
  63.     {
  64.         sup_no=sup_no1;
  65.     }
  66.     void setsupname(char* supname1)
  67.     {
  68.         supname=new char[strlen(supname1)+1];
  69.         strcpy(supname,supname1);
  70.     }
  71.     void setaddress(char* address1)
  72.     {
  73.         address=new char[strlen(address1)+1];
  74.         strcpy(address,address1);
  75.     }
  76.    
  77.     void settelephone(int telephone1)
  78.     {
  79.         telephone=telephone1;
  80.     }
  81.     void setsup_num(int sup_num1)
  82.     {
  83.         sup_num=sup_num1;
  84.     }
  85.     void setsnum(int snum1)
  86.     {
  87.         snum=snum1;
  88.     }
  89.     void setsup_style(char* sup_style1)
  90.     {
  91.         sup_style=new char[strlen(sup_style1)+1];
  92.         strcpy(sup_style,sup_style1);
  93.     }
  94.     static int supcount;
  95. }sup[100];
  96. int SupKind::supcount=0;
  97. void SupKind::supinsert()
  98. {
  99.     cout<<"供应商编号:"<<endl;
  100.     cin>>sup_no;
  101.     cout<<"供应商名称:"<<endl;
  102.     cin>>supname;
  103.     cout<<"供应商地址:"<<endl;
  104.     cin>>address;
  105.     cout<<"供应商电话:"<<endl;
  106.     cin>>telephone;
  107.     cout<<"供应类编号:"<<endl;
  108.     cin>>snum;
  109.     cout<<"供应的类型:"<<endl;
  110.     cin>>sup_style;
  111.     cout<<"供书的数量:"<<endl;
  112.     cin>>sup_num;
  113.     supcount++;
  114. }
  115. void SupKind::supmodify()
  116. {
  117.     cout<<"++++请选择要进行的修改"<<endl;
  118.     cout<<"1...修改编号"<<endl;
  119.     cout<<"2...修改名称"<<endl;
  120.     cout<<"3...修改地址"<<endl;
  121.     cout<<"4...修改电话"<<endl;
  122.     cout<<"5...修改数量"<<endl;
  123.     cout<<"6...修改类型编号"<<endl;
  124.     cout<<"7...修改具体类型"<<endl;
  125.     int a;
  126.     cin>>a;
  127.     switch(a)
  128.     {
  129.       case 1:
  130.         cout<<"输入新的编号:"<<endl;
  131.         cin>>sup_no;
  132.         break;
  133.       case 2:
  134.         cout<<"输入新的名称:"<<endl;
  135.         cin>>supname;
  136.         break;
  137.       case 3:
  138.         cout<<"输入新的地址:"<<endl;
  139.         cin>>address;
  140.         break;
  141.       case 4:
  142.         cout<<"输入新的电话:"<<endl;
  143.         cin>>telephone;
  144.         break;
  145.       case 5:
  146.         cout<<"输入新的数量:"<<endl;
  147.         cin>>sup_num;
  148.       break;
  149.       case 6:
  150.         cout<<"输入新的类型编号:"<<endl;
  151.         cin>>snum;
  152.         break;
  153.       case 7:
  154.         cout<<"输入新的类型:"<<endl;
  155.         cin>>sup_style;
  156.         break;
  157.       default:
  158.         return;
  159.     }
  160. }
  161. void SupKind::supdel()
  162. {
  163.     sup_no=-1;
  164.     supname=" ";
  165.     address=" ";
  166.     telephone=-1;
  167.     sup_num=-1;
  168.     snum=-1;
  169.     sup_style=" ";
  170.     supcount--;
  171. }
  172. void supsearch()
  173. {
  174.     cout<<"输入要查询的供应商的编号:"<<endl;
  175.     int r,o=1;
  176.     cin>>r;
  177.     for(int i=0;i<SupKind::supcount;i++)
  178.     {
  179.         if(sup[i].sup_no==r)
  180.         {
  181.             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;
  182.             sup[i].supshow();
  183.             o=0;
  184.         }
  185.     }
  186.     if(o==0)
  187.      cout<<"没有该编号,查询失败"<<endl;
  188. }
  189. void SupKind::supshow()
  190. {
  191.     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;
  192. }
  193. void suppri()
  194. {
  195.     ofstream fout("供应商管理系统.txt");
  196.     if(!fout)
  197.     {
  198.         cout<<"can not open output file"<<endl;
  199.     }
  200.      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;
  201.      for(int i=0;i<SupKind::supcount;i++)
  202.      {
  203.           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;
  204.      }
  205.      fout.close();
  206.      cout<<"保存成功"<<endl;
  207.      return;
  208. }

  209. void supmenu()
  210. {
  211.     cout<<"======供应商管理系统======"<<endl;
  212.     cout<<"1---添加供应商信息"<<endl;
  213.     cout<<"2---修改供应商信息"<<endl;
  214.     cout<<"3---删除供应商信息"<<endl;
  215.     cout<<"4---查询供应商信息"<<endl;
  216.     cout<<"5---显示供应商信息"<<endl;
  217.     cout<<"6---保存数据"<<endl;
  218.     cout<<"其他数字键---退出"<<endl;
  219. }

  220. int  main()
  221. {
  222.     for(;;)
  223.     {
  224.         supmenu();
  225.         cout<<"请选择您要进行的处理"<<endl;
  226.         int i;
  227.         cin>>i;
  228.         switch(i)
  229.         {
  230.             case 1:
  231.              cout<<"请输入要添加的供应商的数量:"<<endl;
  232.              int i,n;
  233.              cin>>n;
  234.              for(i=0;i<n;i++)
  235.              {
  236.                  sup[SupKind::supcount].supinsert();
  237.              }
  238.              if(n==0)
  239.                cout<<"无输入!!!"<<endl;
  240.                else
  241.                cout<<"输入完毕!!!"<<endl;
  242.                break;
  243.             case 2:
  244.               cout<<"输入要修改的供应商的编号:"<<endl;
  245.               int p;
  246.               cin>>p;
  247.               for(i=0;i<SupKind::supcount;i++)
  248.               {
  249.                   if(sup[i].sup_no==p)
  250.                   {
  251.                       sup[i].supmodify();
  252.                       cout<<"修改成功!!!"<<endl;
  253.                   }
  254.               }
  255.               break;
  256.             case 3:
  257.               cout<<"输入要删除的供应商的编号"<<endl;
  258.               int q;
  259.               cin>>q;
  260.               for(i=0;i<SupKind::supcount;i++)
  261.               {
  262.                   if(sup[i].sup_no==q)
  263.                   {
  264.                       sup[i].supdel();
  265.                   }
  266.               }
  267.               for(;i<SupKind::supcount;i++)
  268.               {
  269.                   SupKind temp;
  270.                   temp=sup[i];
  271.                   sup[i]=sup[i+1];
  272.                   sup[i+1]=sup[i];
  273.               }
  274.               break;
  275.             case 4:
  276.               supsearch();
  277.               break;
  278.             case 5:
  279.               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;
  280.               for(i=0;i<SupKind::supcount;i++)
  281.               sup[i].supshow();
  282.               break;
  283.             case 6:
  284.               suppri();
  285.               break;
  286.             default:
  287.              return 0;
  288.         }
  289.     }
  290. }


复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表