📄 采购管理系统.txt
字号:
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 + -