⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 采购管理系统.txt

📁 我用C++写的一个采购管理系统,DOS界面的。我很想学嵌入式开发
💻 TXT
📖 第 1 页 / 共 3 页
字号:
  if(k<p+(*n))
  {
   for(q=k;q<k+(*n)-1;q++)
      *q=*(q+1);
   (*n)--;
  }
  else
     cout<<"\n           无此厂家!\n";
  cout<<"\n         返回主菜单(b)"
	  <<"\n         是否退出采购管理系统,是(y),否(任意键):";
  cin>>c;
  if(c=='y'||c=='Y')
	  exit(1);
 }while(k>=p+(*n)&&c!='b'&&c!='B');
}
/*****************************************************************************/
void mysort(struct company *p,int n)   //排序采购单 
{
 char c;
 do
 {
  cout<<"\n     按厂家编号排序(h),还是按厂家名称排序(m),\n"
      <<"     抑或是按产品价格排序(p),按产品数量排序(k)?:"
	  <<"\n     退出采购管理系统(a),返回主菜单(b):";
  cin>>c;
  if(c=='a'||c=='A')
	  exit(1);
  else
     if(c=='h'||c=='H')
	    sort_num(p,n);
     else
 	    if(c=='m'||c=='M')
		  sort_name(p,n);
	    else
		   if(c=='p'||c=='P')
	          sort_price(p,n); 
	       else
		      if(c=='k'||c=='K')
			  	  sort_amount(p,n);
			  else
	     	     cout<<"\n           非法字符!\n";
 }while(c!='h'&&c!='H'&&c!='m'&&c!='M'&&c!='p'&&c!='P'&&c!='k'&&c!='K'&&c!='b'&&c!='B');
}
/*****************************************************************************/
void sort_num(struct company *p,int n)      //按厂家编号排序
{
 int i,j,k;
 char c;
 struct company temp,*q;
 do
 {
  cout<<"\n         按升序(s),还是按降序(j)?"
	  <<"\n         退出采购管理系统(a),返回主菜单(b):";
  cin>>c;
  if(c=='a'||c=='A')
	  exit(1);
  else
     if(c=='s'||c=='S')
	   for(i=0;i<n-1;i++)
	   {
	   k=i;
	   for(j=i+1;j<n;j++)
		  if(strcmp((p+k)->company_number,(p+j)->company_number)>0)
			  k=j;
		  temp=*(p+k);
		  *(p+k)=*(p+i);
		  *(p+i)=temp;
	   }
    else
	   if(c=='j'||c=='J')
	     for(i=0;i<n-1;i++)
		 {
	      k=i;
	      for(j=i+1;j<n;j++)
		     if(strcmp((p+k)->company_number,(p+j)->company_number)<0)
			          k=j;
		  temp=*(p+k);
		  *(p+k)=*(p+i);
		  *(p+i)=temp;
		 }
    else
	   cout<<"\n          非法字符!\n";
 }while(c!='s'&&c!='S'&&c!='j'&&c!='J'&&c!='b'&&c!='B');
 if(c!='b'&&c!='B')
 {
  cout<<"\n    ┌────────┬────────┬────────┬────────┐\n";
          cout<<"    │"<<setw(12)<<"厂家编号"<<"    │"
              <<setw(12)<<"厂家名称"<<"    │"
              <<setw(12)<<"产品数量"<<"    │"
	          <<setw(12)<<"产品价格"<<"    │\n";
        for(q=p;q<p+n;q++)
              cout<<"    ├────────┼────────┼────────┼────────┤\n"
		          <<"    │"
			      <<setw(12)<<(*q).company_number<<"    │"
	              <<setw(12)<<(*q).company_name<<"    │"
	              <<setw(12)<<(*q).product_amount<<"    │"	           
			      <<setw(12)<<(*q).product_price<<"    │\n";
		      cout<<"    └────────┴────────┴────────┴────────┘"<<endl;
 }
}
/*****************************************************************************/
void sort_name(struct company *p,int n)    //按厂家名称排序
{
 int i,j,k;
 char c; 
 struct company temp,*q;
 do
 {
  cout<<"\n             按升序(s),还是按降序(j)?"
	  <<"\n             退出采购管理系统(a),返回主菜单(b):";
  cin>>c;
  if(c=='a'||c=='A')
	  exit(1);
  else
     if(c=='s'||c=='S')
       for(i=0;i<n-1;i++)
	   {
        k=i;
        for(j=i+1;j<n;j++)
	       if(strcmp((p+k)->company_name,(p+j)->company_name)>0)
		      k=j;
	    temp=*(p+k);
	    *(p+k)=*(p+i);
	    *(p+i)=temp;
	   }
    else
	   if(c=='j'||c=='J')
		   for(i=0;i<n-1;i++)
		   {
            k=i;
            for(j=i+1;j<n;j++)
	            if(strcmp((p+k)->company_name,(p+j)->company_name)<0)
		            k=j;
	        temp=*(p+k);
	        *(p+k)=*(p+i);
	        *(p+i)=temp;
		   }
	  else
		  cout<<"\n          非法字符!\n";
 }while(c!='s'&&c!='S'&&c!='j'&&c!='J'&&c!='b'&&c!='B');
 if(c!='b'&&c!='B')
 {
	      cout<<"    ┌────────┬────────┬────────┬────────┐\n";
          cout<<"    │"<<setw(12)<<"厂家编号"<<"    │"
              <<setw(12)<<"厂家名称"<<"    │"
              <<setw(12)<<"产品数量"<<"    │"
	          <<setw(12)<<"产品价格"<<"    │\n";
        for(q=p;q<p+n;q++)
              cout<<"    ├────────┼────────┼────────┼────────┤\n"
		          <<"    │"
			      <<setw(12)<<(*q).company_number<<"    │"
	              <<setw(12)<<(*q).company_name<<"    │"
	              <<setw(12)<<(*q).product_amount<<"    │"	           
			      <<setw(12)<<(*q).product_price<<"    │\n";
		      cout<<"    └────────┴────────┴────────┴────────┘"<<endl;
 }
}
/*****************************************************************************/
void sort_price(struct company *p,int n)  //按产品价格排序
{
 int i,j,k;
 char c;
 struct company temp,*q;
 do
 {
  cout<<"\n             按升序(s),还是按降序(j)?"
	  <<"\n             退出采购管理系统(a),返回主菜单(b):";
  cin>>c;
  if(c=='a'||c=='A')
	  exit(1);
  else
     if(c=='s'||c=='S')
       for(i=0;i<n-1;i++)
	   {
        k=i;
        for(j=i+1;j<n;j++)
	        if((p+k)->product_price>=(p+j)->product_price)
		      k=j;
	        temp=*(p+k);
	        *(p+k)=*(p+i);
        	*(p+i)=temp;
	   }
    else
   	   if(c=='j'||c=='J')
          for(i=0;i<n-1;i++)
		  {
           k=i;
           for(j=i+1;j<n;j++)
	         if((p+k)->product_price<=(p+j)->product_price)
		       k=j;
	         temp=*(p+k);
	         *(p+k)=*(p+i);
	         *(p+i)=temp;
		  }
        else
		    cout<<"\n          非法字符!\n";
 }while(c!='s'&&c!='S'&&c!='j'&&c!='J'&&c!='b'&&c!='B');
   if(c!='b'&&c!='B')
   {
	 cout<<"\n    ┌────────┬────────┬────────┬────────┐\n";
          cout<<"    │"<<setw(12)<<"厂家编号"<<"    │"
              <<setw(12)<<"厂家名称"<<"    │"
              <<setw(12)<<"产品数量"<<"    │"
	          <<setw(12)<<"产品价格"<<"    │\n";
        for(q=p;q<p+n;q++)
              cout<<"    ├────────┼────────┼────────┼────────┤\n"
		          <<"    │"
			      <<setw(12)<<(*q).company_number<<"    │"
	              <<setw(12)<<(*q).company_name<<"    │"
	              <<setw(12)<<(*q).product_amount<<"    │"	           
			      <<setw(12)<<(*q).product_price<<"    │\n";
		      cout<<"    └────────┴────────┴────────┴────────┘"<<endl;
   }
}
/*****************************************************************************/
void sort_amount(struct company *p,int n)   //按产品数量排序
{
 int i,j,k;
 char c;
 struct company temp,*q;
 do
 {
  cout<<"\n             按升序(s),还是按降序(j)?"
      <<"\n             退出采购管理系统(a),返回主菜单(b):";
  cin>>c;
  if(c=='a'||c=='A')
	  exit(1);
  else
     if(c=='s'||c=='S')
       for(i=0;i<n-1;i++)
	   {
        k=i;
        for(j=i+1;j<n;j++)
	       if((p+k)->product_amount>=(p+j)->product_amount)
		      k=j;
	       temp=*(p+k);
	       *(p+k)=*(p+i);
	       *(p+i)=temp;
	   }
     else
	    if(c=='j'||c=='J')
           for(i=0;i<n-1;i++)
		   {
            k=i;
            for(j=i+1;j<n;j++)
	           if((p+k)->product_amount<=(p+j)->product_amount)
		          k=j;
	           temp=*(p+k);
	           *(p+k)=*(p+i);
	           *(p+i)=temp;
		   }
        else
		   cout<<"\n          非法字符!\n";
 }while(c!='s'&&c!='S'&&c!='j'&&c!='J'&&c!='b'&&c!='B');
  if(c!='b'&&c!='B')
  {
   cout<<"\n    ┌────────┬────────┬────────┬────────┐\n";
          cout<<"    │"<<setw(12)<<"厂家编号"<<"    │"
              <<setw(12)<<"厂家名称"<<"    │"
              <<setw(12)<<"产品数量"<<"    │"
	          <<setw(12)<<"产品价格"<<"    │\n";
        for(q=p;q<p+n;q++)
              cout<<"    ├────────┼────────┼────────┼────────┤\n"
		          <<"    │"
			      <<setw(12)<<(*q).company_number<<"    │"
	              <<setw(12)<<(*q).company_name<<"    │"
	              <<setw(12)<<(*q).product_amount<<"    │"	           
			      <<setw(12)<<(*q).product_price<<"    │\n";
		      cout<<"    └────────┴────────┴────────┴────────┘"<<endl;
  }
}
/*****************************************************************************/
void the_chapest_company(struct company *p,int n)  //生成采购单
{
 ofstream out_stream;
 out_stream.open("E:\\meizhou.txt");
 if(out_stream.fail())
 {
  cout<<"Input file opening failed.\n";
  exit(1);
 }
 double the_chapest_price=(*p).product_price;
 struct company *q;
 out_stream<<"\n                                 生 成 采 购 单 \n\n"
	       <<"     价格最便宜的厂家的信息是:\n"
           <<"    ┌────────┬────────┬────────┬────────┐\n"
           <<"    │"<<setw(12)<<"采购单号"<<"    │"
           <<setw(12)<<"采购时间"<<"    │"
           <<setw(12)<<"采购厂家"<<"    │"
	       <<setw(12)<<"采购数量"<<"    │\n";
 system("cls");
 cout<<"\n                                 生 成 采 购 单 \n\n"
	 <<"     价格最便宜的厂家的信息是:\n";
 cout<<"    ┌────────┬────────┬────────┬────────┐\n";
 cout<<"    │"<<setw(12)<<"采购单号"<<"    │"
     <<setw(12)<<"采购时间"<<"    │"
     <<setw(12)<<"采购厂家"<<"    │"
	 <<setw(12)<<"采购数量"<<"    │\n";
 for(q=p;q<p+n;q++)
	 if(the_chapest_price>(*q).product_price)
		  the_chapest_price=(*q).product_price;
 for(q=p;q<p+n;q++)
	 if(the_chapest_price==(*q).product_price)
	 {
	  out_stream<<"    ├────────┼────────┼────────┼────────┤\n"
	    	    <<"    │"
			    <<setw(12)<<"0001"<<"    │"
	            <<setw(12)<<"2007/6/18"<<"    │"
	            <<setw(12)<<(*q).company_name<<"    │"	           
			    <<setw(12)<<(*q).product_amount<<"    │\n"
		        <<"    └────────┴────────┴────────┴────────┘"<<endl;
	  cout<<"    ├────────┼────────┼────────┼────────┤\n"
		  <<"    │"
		  <<setw(12)<<"0001"<<"    │"
	      <<setw(12)<<"2007/6/18"<<"    │"
	      <<setw(12)<<(*q).company_name<<"    │"	           
		  <<setw(12)<<(*q).product_amount<<"    │\n";
	  cout<<"    └────────┴────────┴────────┴────────┘"<<endl;
	 }
 out_stream.close();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -