c++ 仓库管理系统.docx
《c++ 仓库管理系统.docx》由会员分享,可在线阅读,更多相关《c++ 仓库管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
c++仓库管理系统
#include
#include
usingnamespacestd;
constintm=100;//定义常量m
classStore//定义类
{
private:
intnum;//编号
charname[20];//名称
doubleprice;//价格
intquantity;//数量
intamount;//数目
public:
voidInput();
intInput_2();
voidDig();
voidChange();
voidSearch_num();
voidSearch_name();
voidShow();
voidShort();
voidDelete();
}goods[m];
voidStore:
:
Input()//创建表单
{
inti,n;
cout<<"请输入货物总数:
";
cin>>amount;
cout<for(i=0;i{
cout<<"这是第"<<(i+1)<<"货物信息"<goods[i].num=i+1;
cout<<"货品名:
";
cin>>goods[i].name;
cout<<"单价:
";
cin>>goods[i].price;
cout<<"库存量:
";
cin>>goods[i].quantity;
cout<}
cout<<"\n输入的信息:
"<for(i=0;i{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
ofstreamos("goods.txt",ios_base:
:
out|ios_base:
:
binary);//创建、打开文件
for(n=0;n{
os.write(reinterpret_cast(&(goods[n])),sizeof(Store));//导出文件
}
os.close();//关闭文件
}
intStore:
:
Input_2()//文件读入
{
inti,n;
ifstreamis("goods.txt",ios_base:
:
in|ios_base:
:
binary);
if(!
is)
{
cout<<"打开失败"<return0;
}
for(i=0;is.read(reinterpret_cast(goods+i),sizeof(Store));i++)
amount=i;
cout<<"导入的表单:
"<for(n=0;n{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
return1;
}
voidStore:
:
Dig()//插入信息
{
inti,n,m;
cout<<"请输入增加的货物总数:
";
cin>>n;
cout<for(i=0;i{
cout<<"这是第"<<(i+1)<<"货物信息"<goods[amount+i].num=amount+i+1;
cout<<"货品名:
";
cin>>goods[amount+i].name;
cout<<"单价:
";
cin>>goods[amount+i].price;
cout<<"库存量:
";
cin>>goods[amount+i].quantity;
}
cout<<"\n输入的信息"<for(i=0;i{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
amount=amount+n;
ofstreamos("goods.txt",ios_base:
:
out|ios_base:
:
binary);//创建、打开文件
for(m=0;m{
os.write(reinterpret_cast(&(goods[m])),sizeof(Store));//导出文件
}
os.close();//关闭文件
};
voidStore:
:
Change()//修改信息
{
intn,i,m;
cout<<"要修改第几个货物的信息(输入货号):
";
cin>>n;
cout<cout<<"请输入修改的信息"<cout<<"货品名:
";
cin>>goods[n-1].name;
cout<<"单价:
";
cin>>goods[n-1].price;
cout<<"库存量:
";
cin>>goods[n-1].quantity;
cout<cout<<"修改后的信息:
"<for(i=0;i{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
ofstreamos("goods.txt",ios_base:
:
out|ios_base:
:
binary);//创建、打开文件
for(m=0;m{
os.write(reinterpret_cast(&(goods[m])),sizeof(Store));//导出文件
}
os.close();//关闭文件
}
voidStore:
:
Search_num()//按编号查
{
intn;
cout<<"请输入货号:
";
do
{
cin>>n;
cout<if(n<=amount)
{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
elseif(n>amount)
{
cout<<"输入错误,请重新输入:
"<}
}while(n>amount);
};
voidStore:
:
Search_name()//按名称查
{
intflag=0;
inti;
charx[20];
cout<<"请输入货物名:
";
do
{
cin>>x;
cout<for(i=0;i{
if(strcmp(goods[i].name,x)==0)//strcmp用来比较字符串.tname和x
{
flag=1;
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
else;
}
if(flag==0)
cout<<"输入错误,请重新输入:
"<}while(flag==0);
};
voidStore:
:
Show()//显示信息
{
inti;
for(i=0;i{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
};
voidStore:
:
Short()//查询不足货物
{
intflag=0;
inti;
inty;
cout<<"请查询库存量:
";
do
{
cin>>y;
cout<for(i=0;i{
if(goods[i].quantity<=y)
{
flag=1;
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
else;
}
if(flag==0)
cout<<"没有货物,请重新输入:
"<}while(flag==0);
};
voidStore:
:
Delete()//删除货物
{
chary[20];
intn,m;
cout<<"请输入要删除的货物名:
";
cin>>y;
for(inti=0;i{
if(strcmp(goods[i].name,y)==0)//strcmp用来比较字符串.tname和y
{
for(;i{
goods[i]=goods[i+1];
goods[i].num=i+1;
}
amount=amount-1;//货物数减一
}
}
cout<<"删除后货单:
"<for(m=0;m{
cout<<"货号:
"<cout<<"货品名:
"<cout<<"单价:
"<cout<<"库存量:
"<}
ofstreamos("goods.txt",ios_base:
:
out|ios_base:
:
binary);//创建、打开文件
for(n=0;n{
os.write(reinterpret_cast(&(goods[n])),sizeof(Store));//导出文件
}
os.close();//关闭文件
};
voidClear()//清屏函数
{
chara;
a=getchar();
system("cls");
}
voidmenuPrint()//主菜单
{
cout<<"\t*****仓库管理*****"<cout<<"\t*1.输入货物信息*"<cout<<"\t*2.查询货物信息*"<cout<<"\t*3.显示货物信息*"<cout<<"\t*4.显示不足货物*"<cout<<"\t*5.删除货物信息*"<cout<<"\t*6.退出系统*"<cout<<"\t**********************"<cout<<"请输入你要进行的操作(1~6):
"<}
intmain()//主函数
{
StoreGoods;//定义对象
intn;
do
{
menuPrint();//调用主菜单
cin>>n;
cout<switch(n)
{
case1:
//输入货物信息
{
inta;
cout<<"输入方式"<cout<<"1.创建表单"<cout<<"2.从文件导入"<cout<<"3.插入信息"<cout<<"4.修改信息"<cout<<"5.返回主菜单"<cin>>a;
cout<switch(a)
{
case1:
//调用创建函数
Goods.Input();
break;
case2:
//调用文件读入函数
Goods.Input_2();
break;
case3:
//调用增加函数
Goods.Dig();
break;
case4:
//调用增加函数
Goods.Change();
break;
case5:
break;
default:
cout<<"您的输入有误,请重新选择"<break;
}
break;
}
case2:
//查询
{
inta;
cout<<"查询方式"<cout<<"1.按编号查询"<cout<<"2.按名称查询"<cout<<"3.返回主菜单"<cin>>a;
cout<switch(a)
{
case1:
//调用函数(按货号查)
Goods.Search_num();
break;
case2:
//调用函数(按货名查)
Goods.Search_name();
break;
case3:
break;
default:
cout<<"您的输入有误,请重新选择"<break;
}
break;
}
case3:
//显示
Goods.Show();
break;
case4:
//查询不足货物
Goods.Short();
break;
case5:
//删除信息
Goods.Delete();
break;
case6:
//退出
exit(0);
break;
default:
cout<<"您的输入有误,请重新选择"<break;
}
}while
(1);
return0;
}