C++商品销售管理系统Word文件下载.docx
- 文档编号:22227812
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:24
- 大小:186.02KB
C++商品销售管理系统Word文件下载.docx
《C++商品销售管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++商品销售管理系统Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
总体需求与分析构思及收集资料1 图书馆
各模块的编程实现,调试与修改3 机房
撰写论文与答辩1 图书馆,
学生签名:
2013年6月17日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (25分):
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)运行结果 (20分):
(5)答辩 (15分):
(6)格式规范性及考勤是否降等级:
是( )、否( )
评阅人签名:
职称:
讲师
2013年6月22日
一:
设计目的和要求
1.设计目的
课程设计的目的是培养应用《C++面向对象程序设计》设计方法及思想解决实际问题的能力,掌握使用面向对象设计语言C++,熟悉面向对象开发平台VisualC++6。
0,提高调查研究、查阅技术资料以及编写技术文献的能力。
2。
设计要求
用C++编写一系统,实现商品销售管理:
1)商品基本信息的键盘录入,删除,修改,磁盘导入和保存;
2)商品库存信息的键盘录入,删除,修改,磁盘导入和保存;
A)输入一个商品编号,能自动搜索并在屏幕上输出商品的库存信息
B)输入一个商品编号和新增库存,能更新商品的库存信息。
如商品001,输入新增库存4单位,若商品001原来的库存为3单位,则更新其库存为7单位,并保存至磁盘;
3)销售记录的键盘录入和磁盘保存.
要求在输入一条销售记录时,只能手动录入商品编号和销售数量,其他相关信息自动生成后,将完整的(包含商品基本信息,价格,销售数量,销售金额,销售日期,以及库存数量)销售记录和商品库存信息在屏幕上输出,并保存在指定的磁盘文本中,不得覆盖之前的销售记录和库存信息。
4)输入一个销售日期,如201212,能自动计算出2012年12月份的商品总销售额。
二:
设计内容
1。
主要类设计
对于整个商品销售管理系统来说,首先,定义个Ware类作为基类:
classWare//基本信息类
{public:
Ware(){num=0;
name[0]=’N’;
price=0;
}
Ware(intn1,charname1,doubleprice1)
{num=n1;
name[0]=name1;
price=price1;
voidinput();
voidoutput();
intnum;
charname[10];
doubleprice;
};
然后我们再定义两个派生类:
Stock类,即商品库存信息类;
Sell类,即商品销售信息类;
具体实现如下:
classStock:
publicWare//库存类
{
public:
Stock(){number=0;
Stock(intn):
number(n){};
voidinput();
voidoutput();
intnumber;
};
classSell:
publicWare//销售类
Sell(){numb=0;
count=0;
sale=0;
time[0]='
N'
;
intsell();
intnumb;
doublecount;
doublesale;
chartime[64];
};
2.其它各函数的主要功能实现
4)函数按功能来分可分为两大类,其一是功能实现类,作用是实现题目要求的各种功能,如商品基本信息的键盘录入,删除,修改,磁盘导入和保存;
商品库存信息的键盘录入,删除,修改,磁盘导入和保存等。
intinputware();
//输入商品基本信息并且存至文件
intoware();
//输出商品基本信息
intcware();
//修改Ware数据
intinquire();
//查询库存信息
intcstock();
//修改库存信息
intsell();
//输入商品销售信息
intsalecase();
//查看商品销售信息
intsum();
//查看特定时段的销售额
intsalesum();
//总销售额
voidDelete()//删除函数
另一类是导航菜单类,主要作用是链接程序的各个模块,并且给使用者做部分导航,是使用者更清晰明了的使用本系统。
它们有:
voidwelcome();
//欢迎函数,作为主菜单链接以下四个函数
voidWARE();
//调用和商品基本信息有关的函数
voidSTOCK();
//调用和商品库存有关的函数
voidSALE();
//调用和商品销售有关的函数
voidExit();
//退出函数
3。
主函数main()
主函数main()中用了switch语句,可实现选择个功能,即选择对商品的哪些性质进行操作,1,对商品的基本信息进行操作。
2,对商品的库存进行操作。
3,对商品的销售进行操作。
0为退出程序。
进入程序后,可选择执行的功能;
流程图1中简单介绍了该商品管理系统的主要功能,在后面会对各部分进行分析。
3.以下具体功能具体分析
1)。
在Ware()函数中,用了switch语句,可实现5个功能,即1。
信息输入2.信息查询3.修改信息4。
返回菜单0.退出。
2)在Sell()函数中,用了switch语句,可实现6个功能,即1.输入销售信息2.销售信息查询3.查询总销售额4。
查询特定时刻的销售额5。
返回菜单0。
退出。
3)在Stock()函数中,用了switch语句,可实现4个功能,即1。
库存信息输入2.库存信息查询3.库存修改信息4。
4)在Delete()函数中,用了switch语句,可实现5个功能,即1.信息输入2.信息查询3.修改信息4。
退出.
5)Exit()函数作为退出函数。
三.流程图
四:
程序实现
1.在主函数中调用了welcome函数,使用了Sleep函数和cout函数使程序更加美观;
intmain()
{inti;
cout<
〈"
********************************"
<
〈endl〈〈endl〈<
endl;
cout〈〈”欢迎使用"
endl<
endl〈<
endl;
cout〈〈"
********************************”〈〈endl;
for(i=0;
i<
20;
i++)
{cout〈<
"
。
;
Sleep(120);
welcome();
return0;
2.Welcome的功能实现如下所示
voidwelcome()
intm;
system(”cls"
);
cout<
〈”*********************************"
[1]商品基本信息操作”〈〈endl〈<
〈endl;
cout〈〈"
[2]商品库存操作"
〈<
〈”[3]销售情况记录"
endl〈〈endl〈<
cout〈〈”[4]删除商品信息”<
endl〈〈endl;
〈”[0]退出程序"
〈endl〈<
”*********************************”〈<
cin>
〉m;
switch(m)
{
case1:
WARE();
break;
case2:
STOCK();
case3:
SALE();
case4:
Delete();
case0:
Exit();
break;
};
在该函数中使用是Switch语句,通过switch()语句可选择各功能,为了使界面更美观,也使用了cout函数作为显示菜单;
3.删除函数,本函数是将文件中保存的商品数据导出至商品类的对象数组中,然后通过商品编号来进行判断,如果符合条件,删除该商品所有数据,并且重新读入文件,覆盖旧数据。
voidDelete()
{
intnum,i;
Stockstock[N];
Wareware[N];
fstreaminstock(”stock。
dat"
,ios:
:
in|ios:
out|ios:
:
app);
fstreaminware("
ware。
,ios:
in|ios:
out|ios:
binary);
check(instock);
check(inware);
for(i=0;
N;
{
instock>
〉stock[i].number;
inware.read((char*)&ware[i],sizeof(ware[i]));
}
〈”请输入要删除的商品编号:
cin〉>
num;
for(i=0;
if(num==ware[i]。
num)
ware[i]。
output();
stock[i].output();
for(intm=i;
m<
m++)
{ware[m]=ware[m+1];
stock[m]=stock[m+1];
}
break;
}
}
inware.close();
instock。
close();
N;
fstreaminstock1(”stock。
out);
instock1。
seekp(i*sizeof(stock[i].number),ios:
beg);
instock<
〈stock[i]。
number〈<
"
ware.dat"
ios:
binary);
inware。
seekp(i*sizeof(ware[i]),ios:
write((char*)&ware[i],sizeof(ware));
instock.close();
close();
”返回上一级请按1,退出程序请按0;
i;
if(i)
welcome();
elseExit();
}
4.商品销售函数
通过switch来链接各个功能函数
{
oware();
inputware();
case3:
cware();
welcome();
case0:
5。
商品库存函数
case1:
inquire();
case2:
cstock();
welcome();
};
6.商品销售函数
{
sell();
salecase();
sum();
case4:
salesum();
case5:
7。
退出函数
voidExit()
*********************************”<
endl〈〈endl〈〈endl<
谢谢使用”<
〈endl〈〈endl<
”*********************************"
〈〈endl;
8。
修改商品基本数据。
首先通过文件操作读取已存的商品数据,然后输入商品编号,然后进行判断,若符合条件,则调用输入函数,使用文件指针,然后对原来的数据进行输出,覆盖旧数据。
intcware()
{
inti,num;
Wareware[N];
dat”,ios:
in|ios:
cout〈〈”修改数据"
for(i=0;
i〈N;
inware.read((char*)&
ware[i],sizeof(ware[i]));
if(ware[i].num==0)continue;
if(inware.eof())break;
num:
cin〉〉num;
for(i=0;
{
if(num==ware[i]。
{
ware[i]。
input();
inware。
seekp(i*sizeof(ware[i]),ios:
write((char*)&ware[i],sizeof(ware));
break;
}
}
inware。
cout〈<
返回上一级请按1,退出程序请按0;
”;
>
i;
WARE();
elseExit();
return0;
9.
Sum是查询某一段时间销售额的函数,首先定义了两个字符串用来存储时间的头尾,然后从文件中读取数据进行判断,如果符合第一个条件,就开始叠加销售额,知道第二个条件满足时,停止循环并且输出销售额。
intsum()
{Sellsell;
chartime1[64],time2[64];
doubleSale=0;
inti=0;
fstreaminsell(”sell。
ios:
app|ios:
check(insell);
输入时间1:
time1;
输入时间2:
〉time2;
do
insell.seekg(0,ios:
cur);
insell.read((char*)&
sell,sizeof(sell));
if(strcmp(time1,sell.time)==0)
Sale+=sell。
sale;
}while(!
strcmp(time2,sell.time)==0);
Sale;
insell.close();
cout<
”返回上一级请按1,退出程序请按0;
SALE();
return0;
五.程序调试
六。
设计小结
通过编写商品销售管理系统这个程序,感觉到自己有很多方面的不足,在编写过程中不断的求助于同学,不断的查找资料和翻书本,自己真是受益匪浅。
首先,在编程学习中,实践是非常重要的,无论自己在读程序看程序时是多么的明白,但到了电脑面前,才知道在实际操作中有很多问题等着我们去解决。
而且我也意识到学习在很大程度上靠自觉,要自己积极主动的去发现问题和解决问题,遇到不懂得一定要打破沙锅问到底,拿出积极的学习态度!
这样才能巩固我们的基础知识,有利于我们今后的发展,所以以后要多多加强动手操作和编写能力.其次要多和同学老师交流,因为写程序是有很多技巧和方法的,这是一笔宝贵的经验等着我们去学习,在经常的交流和实践中,才能准确快速的编写出所需要的程序,通过程序进而解决问题.
在这次设计中,我也深刻认识到自己的不足,今后一定要不断的进步,好好锻炼自己的编码能力!
成为一个出色的程序员!
七:
参考文献
[1]谭浩强《C++程序设计实践指导》清华大学出版社
[2]谭浩强《C++程序设计》清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 商品 销售 管理 系统