资源描述
商品月销售基本信息管理软件设计:采用结构体数组或文件形式存储每种商品的信息,每种商品应包含如下几方面的信息:商品编号、商品名称、单价、生产地、本月当前销售总数量、本月当前销售总金额、库存余量。软件由主函数(含欢迎界面)+下列5个功能模块组成:(1)售出功能(被售出之商品数量 减x);(2)进货功能(被购进之商品数量增x);(3)查找功能(查找指定商品余存信息、价格信息);(4)统计功能(找出当前销售总金额最大的商品);(5)退出程序。
/***********************************************************************************
**程序设计课程设计实验:商品月销售基本信息管理软件设计
********指导老师: 学生: 班级: 学号: ******
*****************************该次实验使用语言:C++ *********************************
************************************************************************************/
#include<fstream.h>
#include<iostream.h>
#include<string.h>
#include <conio.h>
struct product
{
int number;
char name[20];
double price;
char address[20];
int total_num; //本月当前销售总数量
double total_sale; //本月当前销售总金额
int stocks; //库存余量
};
void write(); //录入
void sell(); //售出
void in(); //进货
void search(); //查询
void stat(); //统计
char Exit(); //退出
int Menu(); //菜单
int main()
{
cout<<" ╭═══════════════╮"<<endl;
cout<<" ║ ║"<<endl;
cout<<" ╭══════┤ 商品月销售基本信息管理软件 ├══════╮"<<endl;
cout<<" ║ ║ ║ ║"<<endl;
cout<<" ║ ╰═══════════════╯ ║"<<endl;
cout<<" ║ ╭═══════════════════════╮ ║"<<endl;
cout<<" ║ ║ ║ ║ "<<endl;
cout<<"欢迎使用商品月销售基本信息管理软件~~~~~";
cout<<" "<<endl;
cout<<endl<<endl;
int select;
char s;
while(1)
{
select=Menu();
switch(select)
{
case 1:
write();break;
case 2:
sell();break;
case 3:
in();break;
case 4:
search();break;
case 5:
stat();break;
case 6:
s=Exit();
if(s=='Y'||s=='y')return 0;
break;
default:
cout<<"无效输入!"<<endl;
}
}
return 0;
}
void write()
{
product pro;
int i, n;
ofstream outfile("info.dat",ios::out|ios::binary);
if(!outfile)
{
cout<<"文件打开错误!";
return;
}
cout<<"输入商品个数:"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cout<<"输入第"<<i+1<<"个商品的编号、名称、单价、生产地、本月当前销售总数量、本月当前销售总金额、库存余量"<<endl;
cin>>pro.number;
cin>>pro.name;
cin>>pro.price;
cin>>pro.address;
cin>>pro.total_num;
cin>>pro.total_sale;//可不录入pro.total_sale=pro.total_numpro.price;**
cin>>pro.stocks;
outfile.write((char*)&pro, sizeof(pro)); //*向磁盘文件输出数据
}
outfile.close();
}
void sell() //售出功能*
{
product pro;
int n, x;
fstream mfile("info.dat",ios::in|ios::out|ios::binary);
cout<<"输入售出商品的编号:";
cin>>n;
do
{
mfile.read((char*)&pro,sizeof(pro));
}while(pro.number!=n&&!mfile.eof());
if(!mfile.eof())
{
cout<<"当前商品信息:"<<endl;
cout<<"商品名称:"<<pro.name<<endl;
cout<<"商品库存余量:"<<pro.stocks<<endl;
cout<<"商品价格:"<<pro.price<<endl;
cout<<"商品销售总金额:"<<pro.total_sale<<endl;
}
else
cout<<"无此商品"<<endl;
cout<<"请输入售出数量:";
cin>>x;
if(pro.stocks>x)
pro.stocks-=x; //库存减少*
else
cout<<"输入数据错误!"<<endl;
pro.total_sale+=pro.pricex; //销售总额增加
mfile.seekp(-(int)sizeof(pro),ios::cur);
mfile.write((char)&(pro),sizeof(pro));
cout<<"新的商品信息:"<<endl;
cout<<"商品名称:"<<pro.name<<endl;
cout<<"商品库存余量:"<<pro.stocks<<endl;
cout<<"商品价格:"<<pro.price<<endl;
cout<<"商品总销售额:"<<pro.total_sale<<endl;
mfile.close();
}
void in() //进货功能**
{
product pro;
int n, x;
fstream mfile("info.dat",ios::in|ios::out|ios::binary);
cout<<"输入要进货商品的编号:";
cin>>n;
do
{
mfile.read((char*)&pro,sizeof(pro));
}while(pro.number!=n&&!mfile.eof());
if(!mfile.eof())
{
cout<<"当前商品信息:"<<endl;
cout<<"商品名称:"<<pro.name<<endl;
cout<<"商品库存余量:"<<pro.stocks<<endl;
cout<<"商品价格:"<<pro.price<<endl;
cout<<"商品销售总金额:"<<pro.total_sale<<endl;
}
else
{
cout<<"无此商品"<<endl;
return;
}
cout<<"请输入进货数量:";
cin>>x;
pro.stocks+=x; //库存增加****
pro.total_sale-=pro.pricex; //销售总额减少
mfile.seekp(-(int)sizeof(pro),ios::cur);
mfile.write((char)&(pro),sizeof(pro));
cout<<"新的商品信息:"<<endl;
cout<<"商品名称:"<<pro.name<<endl;
cout<<"商品库存余量:"<<pro.stocks<<endl;
cout<<"商品价格:"<<pro.price<<endl;
cout<<"商品销售总金额:"<<pro.total_sale<<endl;
mfile.close();
}
void search() //查找功能***
{
product pro;
int n;
fstream mfile("info.dat",ios::in|ios::binary);
cout<<"输入要查询商品的编号:";
cin>>n;
//查找是否有符合条件的商品*
do
{
mfile.read((char*)&pro,sizeof(pro));
}while(pro.number!=n&&!mfile.eof());
if(!mfile.eof())
{
cout<<"商品名称:"<<pro.name<<endl;
cout<<"商品库存余量:"<<pro.stocks<<endl;
cout<<"商品价格:"<<pro.price<<endl;
}
else
cout<<"无此商品"<<endl;
mfile.close();
}
void stat() //统计功能
{
product pro;
double t=0.0;
int num=0;
char n[20];
fstream mfile("info.dat",ios::in|ios::binary);
do
{
mfile.read((char*)&pro,sizeof(pro));
if(t<pro.total_sale)
{
t=pro.total_sale;
num=pro.number;
strcpy(n,pro.name);
}
}while(!mfile.eof());
cout<<"最大商品的编号、商品名及销售总金额:"<<endl;
cout<<num<<'\t'<<n<<'\t'<<t<<endl;
}
int Menu()
{
cout<<"=============================主菜单================================"<<endl;
int n=1, select=-1;
cout<<n++<<"录入商品"<<" ";
cout<<n++<<"售出功能"<<" ";
cout<<n++<<"进货功能"<<" ";
cout<<n++<<"查找功能"<<" ";
cout<<n++<<"统计功能"<<" ";
cout<<n++<<"退出"<<endl<<endl;
cout<<"请选择相应数字:";
cin>>select;
return select;
}
char Exit()
{
char s;
cout<<"确定要退出本程序吗?【Y/N】:";
cin>>s;
cout<<" ====== THE END ====== "<<endl ;
cout<<" 谢谢使用商品月销售基本信息管理软件"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
return s;
}
高校活动门户
高校活动门户整理
展开阅读全文