C++课程设计商品管理系统Word文档下载推荐.docx
《C++课程设计商品管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计商品管理系统Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。
分别是商品类、商品数据类、供应商类、供应商数据类。
通过几个switch语句实现用户选择功能。
主要函数流程图:
(3)详细设计
商品数据类的设计
classspDataprivate:
charname[100];
intcount;
floatiprice;
floatoprice;
chargys[20];
public:
intid;
intgetld()
char*getName()
intgetCount()
floatgetBuy()
floatgetSale()
char*getGys()
voidsetId(intn)
voidsetName(charna[])
voidsetCount(intc)
voidsetBuy(floati)
voidsetSale(floato)
voidsetGys(charg[])
};
商品类的设计
classCommodityprivate:
spDatat[50];
intn;
voidnewFileO
charname[50];
if(nvO)
n=O;
inti;
spDatatemp;
for(;
;
n++)
coutvv"
商品编号:
"
cin>
>
id;
if(id==-1)
break;
t[n].setld(id);
商品名:
>
name;
t[n].setName(name);
库存量:
count;
t[n].setCount(count);
进价:
iprice;
t[n].setBuy(iprice);
售价:
oprice;
t[n].setSale(oprice);
供应商:
gys;
t[n].setGys(gys);
若商品添加完毕,请按-1退出添加!
vvendl;
for(i=0;
ivn;
i++)
if(t[i].getld()>
t[n].getld())
temp=t[i];
t[i]=t[n];
t[n]=temp;
voidshowData(inti)
spDatat,*p;
P=&
t;
coutvvp->
getld()
vvsetw(IO)vvp->
getName()
<
setw(10)<
p->
getCount()
setw(8)<
vp->
getBuy()
getSale()vvsetw(8)vvp->
getGys()vvendl;
voidshowDataO
{intn;
商品编号"
vvsetw(8)vv"
商品名"
vvsetw(8)vv"
库存量"
<
已售量"
进价"
售价"
供应商"
endl;
for(inti=0;
ivn;
if(t[i].getCount()>
0)
showData(i);
商品种类:
nvvendl;
voidsave()
ofstreamfout;
fout.open(”商品清单.txt"
ios:
:
app);
if(!
fout)
cannotopenthefile!
endl;
return;
foutvv"
"
商品名"
库存量"
进价"
foutvvt[i].getld()vvsetw(14)vvt[i].getName()vvsetw(10)vvt[i].getCount()vvsetw(10)<
t[i].getBuy()vvsetw(10)vvt[i].getSale()vvsetw(10)vvt[i].getGys()vvendl;
CoUt<
*************SaveSUCCess!
*****************"
fout.closeO;
voidxiugaiO
inttemp;
temp=search();
if(temp==-1)
cout<
cannotfindtheshopping!
vvendl;
return;
else{coutvv"
请输入新数据:
商品名:
t[temp].setName(name);
t[temp].setCount(count);
t[temp].setBuy(iprice);
t[temp].setSale(oprice);
t[temp].setGys(gys);
intsearchO
{intid;
id:
cin>
intlow=0,mid,high=n-1;
while(lowv=high)
mid=(low+high)/2;
if(t[mid].getld()==id)
returnmid;
elseif(t[mid].getld()>
id)
high=mid-1;
elselow=mid+1;
return-1;
voidremoveO
{spDatat[1O];
请输入要删除的商品编号"
fstreamfile("
商品清单.txt"
in|ios:
out|ios:
binary);
for(intu=0;
u<
5;
u++)file.read((char*)&
t[u],sizeof(t[u]));
for(intv=0;
v<
v++)
if(t[v].id==id)
continue;
else
file.write((char*)&
t[v],sizeof(t[v]));
该商品被删除"
file.closeO;
};
供应商数据类的设计
classspData
private:
intgetld()char*getName(charna[])intgetCount()floatgetBuy()
char*getGys()voidsetld(intn)voidsetName(charna[])voidsetCount(intc)voidsetBuy(floati)voidsetSale(floato)
供应商类的设计
classgongyingshang
gysDatat[50];
intphone;
if(nv0)
n=0;
供应商编号:
t[n].setid();
供应商名称:
t[n].setname(name);
供应商电话:
t[n].setphone();
若供应商添加完毕,请按-1退出添加ryvendl;
gysDatat,*p;
coutvvsetw(8)vvp->
getid()
vvsetw(10)vvp->
getname()vvsetw(10)vvp->
getphone()vvendl;
voidshowDafao
coufAASefw(8)AA
AASefw(8)八八
AAendr
foranfiHO天n=++)
showDafa(三
OOC7A-「和寻淋「-AAnAAendr
voidsa<
e()
ofsfreamfour
fouf.openvSMMIxpiosjappr
if(一fouf)
供应商编号"
供应商姓名"
供应商手机号"
i++)foutvvt[i].getid()vvsetw(10)vvt[i].getname()vvsetw(14)vvt[i].getphone()vvendl;
*************SaveSuccess!
fout.close();
int
search()
if(t[mid].getid()==id)
elseif(t[mid].getid()>
voidxiugai()
cannotfindthegys!
供应商名:
t[temp].setname(name);
供应商手机号:
phone;
t[temp].setphone();
{gysDatag[10];
请输入要删除的供应商编号"
gys.txt"
g[u],sizeof(g[u]));
if(g[v].id==id)
g[v],sizeof(g[v]));
该供应商被删除"
菜单函数的设计
inlinevoidmenu2()
system("
cls"
);
******
欢迎使用商品销售管理系统******"
***********
商品选项**********"
(1)
添加
保存
删除
查找
信息输出
修改
菜单
(0)
退出系统
***********20126***********
inlinevoidmenu1()
主菜单**********"
商品选项
供应商选项
***********20126*************
inlinevoidmenu3()
供应商选项**********"
主函数的设计:
intmain()
menu1();
请选择:
intx;
cin>
x;
switch(x)case1:
menu2();
Commoditycom;
intc;
)
c;
switch(c)
case1:
com.newFile();
case2:
com.save();
case3:
com.remove();
case4:
com.search;
case5:
com.showData();
case6:
menu1();
*********
舟:
^见!
**********
case0:
{
menu3();
gongyingshanggys;
switch(c)case1:
gys.newFile();
gys.save();
gys.remove();
gys.showData();
gys.search();
谢谢使用**********
mu*
谢谢使用**********
再^见!
return0;
(4)调试分析:
程序\3.cpp(226):
warningC4700:
localvariable'
n'
usedwithouthavingbeeninitialized
程序\3.cpp(246):
c1'
程序\3.cpp(348):
g1'
桌面\q.cpp(237):
errorC2562:
'
search'
'
void'
functionreturningavalue
桌面\q.cpp(228):
seedeclarationof
桌面\q.cpp(243):
search'
(5)用户使用说明手册:
1.进入演示程序后,即显示对话形式的提示操作过程:
如第一个选择1商品选项,即显示
(1)添加
(2)保存(3)删除(4)查找(5)信息输出
(6)修改(7)菜单(0)退出系统选择1,即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息,一次输入所添
加的数据。
添加完毕,按-1退出添加;
如第一个选择2,供应商选项,同样显示
(1)添加
(2)保存(3)删除(4)查找(5)
(6)修改
(7)菜单(0)退出系统
选择数据的功能跟上面一样。
第一个选择0退出系统。
(6)测试数据
进入演示程序后,即显示对话形式的提示操作过程:
选择:
添加商品
保存信息
删除信息
查找信息
供应商信息的各选项跟商品信息的选项一样。
4.课程设计成果
程序源代码
#includeviostream.h>
#include<
fstream.h>
string.h>
#includeviomanip.h>
#defineMfname100
conio.h>
#includevstdio.h>
#includevprocess.h>
#include<
dos.h>
classspDataprivate:
returnid;
returnname;
returncount;
returniprice;
floatgetSaleO
returnoprice;
returngys;
voidsetld(intn)
id=n;
strcpy(name,na);
count=c;
iprice=i;
oprice=o;
strcpy(gys,g);
classgysData
charname[100];
intgetid()
char*getname()