#include
const int N=5;
struct PRODUCT
{
int code;//商品代码
char name[20];//商品名称
double price;//单价
int amount;//商品数量
int sales;//销售量
int stock;//商品的库存量
}pro[N];
void input(struct PRODUCT *p);
void sort1(int stock,int sales);//冒泡法按商品的库存量排序
void sort2(int code);//选择法按商品代码排序
void search1();//选择法按商品库存量查询
void search2(int code);//折半法按商品代码查询
void out();
void main()
{
int code;
struct PRODUCT *p;
input(p);
int ch;
do
{
cout<<"按库存量排序, 请选择: 1 "<
switch (ch)
{
case 1:sort1(pro[N].stock,pro[N].sales);
break;
case 2:sort2(pro[N].code);break;
case 3:
{
cout<<"请输入商品代码";
cin>>code;
search2(code);
}break;
case 4:search1();break;
case 5:out();break;
case 6:0;break;
default:cout<<"您的输入有错"<
}while(ch!=6);
}
void input(struct PRODUCT *P)
{
cout<<"输入英文的时候,请以?为结束标志"<
cout<<"请输入商品信息 :";
cin>>pro[i].code;cin.getline(pro[i].name,10,'\?');cin>>pro[i].price>>pro[i].amount>>pro[i].sales;
pro[i].stock=pro[i].amount-pro[i].sales;
}
}
void sort1(int stock,int sales)//冒泡法按商品的库存量排序
{
struct PRODUCT t;
for(int i=0;i
{
t=pro[j];
pro[j]=pro[j+1];
pro[j+1]=t;
}
for(i=0;i
{
t=pro[j];
pro[j]=pro[j+1];
pro[j+1]=t;
}
cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<
void sort2(int code)//选择法按商品代码排序
{
struct PRODUCT t;
for(int i=0;i
{
t=pro[i];
pro[i]=pro[j];
pro[j]=t;
}
cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<
void search1()//选择法按商品库存量查询
{
int stock1,stock2;
cout<<"请从小到大输入您要查找商品库存量的范围 ";
cin>>stock1>>stock2;
cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<
{
for(int j=0;j
if(j==N)
cout<<"";
else
cout<
cout<<"如果没有显示则无此商品信息"<
void search2(int code)//折半法按商品代码查询
{
struct PRODUCT t;
for(int i=0;i
{
t=pro[j];
pro[j]=pro[j+1];
pro[j+1]=t;
}
int top=0,bottom=N-1,middle=(top+bottom)/2;//折半法查找商品代码
while(top<=middle)
{
if(code==pro[middle].code)
break;
else if(code>pro[middle].code)
top=middle+1;
else
bottom=middle-1;
middle=(top+bottom)/2;
}
if(code==pro[middle].code)
{
cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<
else
cout<<"没有您要找的商品"<
}
void out()
{
cout<<"code"<<'\t'<<"name"<<'\t'<<"price"<<'\t'<<"amount"<<'\t'<<"sales"<<'\t'<<"stock"<
}
123