c++课程设计小型商品销售管理系统.docx
《c++课程设计小型商品销售管理系统.docx》由会员分享,可在线阅读,更多相关《c++课程设计小型商品销售管理系统.docx(18页珍藏版)》请在冰点文库上搜索。
![c++课程设计小型商品销售管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/21/e67af78d-e84b-4695-b0f2-3ac58def729a/e67af78d-e84b-4695-b0f2-3ac58def729a1.gif)
c++课程设计小型商品销售管理系统
课程设计(论文)任务书
软件 学 院 软件工程 专 业 2012-3班
一、课程设计(论文)题目小型商品销售管理系统
二、课程设计(论文)工作自2013年6月17日起至2013年6月21日止。
三、课程设计(论文)地点:
软件学院创新大楼
四、课程设计(论文)内容要求:
!
1.本课程设计的目的
(1)使学生掌握系统各功能模块的基本工作原理;
(2)掌握C++的基本编程原理和及基本的编程方法;
(3)使学生学会系统调试;
(4)培养学生分析、解决问题的能力;
(5)提高学生的软件文档写作能力。
2.课程设计的任务及要求
1)基本要求:
|
(1)分析系统各功能模块的工作原理;
(2)至少有查找,排序、插入、删除等功能;
(3)提出系统的设计方案;
(4)对所进行编程、调试、修改。
2)创新要求:
在基本要求达到后,可进行创新设计.
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写课设论文
:
(2)论文包括设计目的和要求、设计内容、流程图、程序实现、程序调试、设计小结、参考文献等
(3)毕业论文装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
25分;
(3)完成调试运行结果正确:
40分;
(4)答辩:
15分。
(
5)参考文献:
(1)谭浩强.《C++程序设计实践指导》清华大学出版社
(2)谭浩强.《C++程序设计》清华大学出版社
(3)//
6)课程设计进度安排
内容天数 地点
总体需求与分析构思及收集资料1 图书馆
各模块的编程实现,调试与修改3 机房
撰写论文与答辩1 图书馆,
学生签名:
2013年6月17日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (25分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)运行结果 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)答辩 (15分):
优( )、良( )、中( )、一般( )、差( );
(6)格式规范性及考勤是否降等级:
是( )、否( )
评阅人签名:
职称:
讲师
2013年6月22日
一、设计目的4
二、设计要求4
三、设计内容5
四、流程图12
五、程序实现17
六、程序调试21
七、存在问题21
九、参考文献21
小型商品销售管理系统
一、设计目的
1、理解C++相关知识点的概念;
2、熟悉类和对象的使用,重点掌握构造函数、对象数组、友元、类的继承、虚函数、磁盘文件读写等知识点的运用。
二、设计要求
1、要求独立思考,独立完成:
独立完成课设内容,完成任务书中基本功能,调试通过,有完整的运行结果。
遇到问题可以讨论,但不可以拷贝。
2、做好上机准备:
上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3、课程设计报告:
根据编程实现的结果,按课程设计报告的撰写规范完成C++程序设计课程设计报告(课程设计报告中必须有封面、设计任务书、目录、设计目的、设计要求、设计内容、流程图、程序实现、程序调试、设计小结、参考文献等内容,一人一份,绝对不能雷同)。
4、课程设计报告一起由学习委员按规定时间(2013年6月20日下午4:
30之前)统一上交,迟交者无成绩。
三、设计内容
设计一个小型商品销售管理系统:
1、类
1)Ware类,即商品基本信息类:
基本信息包含:
商品编号(唯一)、商品名称、商品价格等;
要求设置多个构造函数(缺省构造、带参数的构造);
2)Stock类,即商品库存信息类;Stock类继承Ware类,此外新增属性有:
库存数量等。
3)Sell类,即商品销售信息类;Sell类继承Ware类,此外新增属性有:
销售数量,销售金额,销售时间等
2、基本功能
(基本功能完成后才能自行扩展其他功能)
商品基本信息的键盘录入,删除,修改,磁盘导入和保存;
商品库存信息的键盘录入,删除,修改,磁盘导入和保存;
A)输入一个商品编号,能自动搜索并在屏幕上输出商品的库存信息
B)输入一个商品编号和新增库存,能更新商品的库存信息。
如商品001,输入新增库存4单位,若商品001原来的库存为3单位,则更新其库存为7单位,并保存至磁盘;
3、销售记录的键盘录入和磁盘保存。
要求在输入一条销售记录时,只能手动录入商品编号和销售数量,其他相关信息自动生成后,将完整的(包含商品基本信息,价格,销售数量,销售金额,销售日期,以及库存数量)销售记录和商品库存信息在屏幕上输出,并保存在指定的磁盘文本中,不得覆盖之前的销售记录和库存信息。
输入一个销售日期,如201212,能自动计算出2012年12月份的商品总销售额。
3、程序设计
(1)
voidfirstinput()nputnumber();
base[i].inputname();
base[i].inputprice();
base[i].exced();
Turn(base[i],stock[i]);
stock[i].input_number_of_stock();
}
cout<<"输入结束"<Sleep(2000);
fstreamsave("",ios:
:
out|ios:
:
binary);
for(inti=0;i((char*)&stock[i],sizeof(stock[i]));
();
}
(2)
voidaddinfo()nputnumber();
base[n].inputname();
base[n].inputprice();
base[n].exced();
Turn(base[n],stock[n]);
stock[n].input_number_of_stock();
n++;
fstreamsave("",ios:
:
out|ios:
:
binary);
for(inti=0;iif(base[i].Is_exc())
((char*)&base[i],sizeof(base[i]));
();
fstreamsave_stock("",ios:
:
out|ios:
:
binary);
for(inti=0;i((char*)&stock[i],sizeof(stock[i]));
();
fstreamsave_set("",ios:
:
out|ios:
:
binary);
save_set<();
}
(3)
voidcancerinfo()eekn(nn))
{
p=i;
break;
}
}
if(p==-1)
{
cout<<"无此序号!
"<Sleep(1000);
return;
}
base[p].cancer();
stock[p].cancer();
fstreamsave("",ios:
:
out|ios:
:
binary);
for(inti=0;iif(base[i].Is_exc())
((char*)&base[i],sizeof(base[i]));
();
fstreamsave_stock("",ios:
:
out|ios:
:
binary);
for(inti=0;iif(stock[i].Is_exc())
((char*)&stock[i],sizeof(stock[i]));
();
n--;
fstreamsave_set("",ios:
:
out|ios:
:
binary);
save_set<();
}
(4)
voidchange()eekn(nn))
{p=i;break;}
}
if(p==-1){cout<<"无此序号!
"<cout<<"请输入"<base[p].inputnumber();
base[p].inputname();
base[p].inputprice();
base[p].exced();
Turn(base[p],stock[p]);
stock[p].input_number_of_stock();
fstreamsave("",ios:
:
out|ios:
:
binary);
for(inti=0;iif(base[i].Is_exc())
((char*)&base[i],sizeof(base[i]));
();
fstreamsave_stock("",ios:
:
out|ios:
:
binary);
for(inti=0;iif(stock[i].Is_exc())
((char*)&stock[i],sizeof(stock[i]));
();
}
(5)
voidshowinfo()eekn(nn))
{p=i;break;}
}
if(p==-1){cout<<"无此序号!
"<cout<
cout<
cout<
cout<}
elseif(inp==2)
{
for(inti=0;i{
cout<
cout<
cout<
cout<cout<}
}
else
{cout<<"inputerror!
"<cout<<"输入任意数字,继续"<intnnn;
scanf("%*d");
}
(6)
voidsellinput()s_exc())etnumber()<cout<<"商品名称:
"<
cout<<"商品价格:
"<
sell[i].inputamount();
Turn(base[i],sell[i]);
((char*)&sell[i],sizeof(sell[i]));
}
();
}
(7)
voidsellshow()
{
fstreamopen_sell("",ios:
:
in|ios:
:
binary);
if(!
open_sell)
{cerr<<"读取销量错误"<cout<<"输入查询年月:
";inty,m;cin>>y>>m;
doubletotal=0;
for(inti=0;;i++)ain()函数:
(2)
1、voidfirstinput()
初次输入商品的基本信息和库存信息
2、voidaddinfo()
增加商品的基础信息和库存信息
3、voidcancerinfo()
删除商品信息
4.voidchange()更改商品信
5.voidshowinfo()
显示商品信息
6.voidsellinput()
输入销售情况
7.voidsellshow()
查询销售记录n并显示到屏幕
5、程序实现图5-1
图5-2
图5-3
图5-4
图5-5
图5-6
6、程序调试
有四个警告,因为写程序将float型数据和int数据类型搞错了
修改后程序可以编译出
7、存在问题
文件方面的保存输入输出功能与要求的不太相符合,文件不能再重新写入更新后的数据,程序运行时,信息录入完毕马上跳转到第二个菜单界面,容易使数据输入出错。
8、设计小结
做这个课设给我最大的启示是:
编一个程序都有必要去理清思路,而且要条理清晰,先大概的搞个框架,再一一的构思如何去设计,又该用那些代码去实现它。
其实就想办法理思路化的时间多些,并且随着自己程序代码的写出,可以发现自己又有些功能没有去实现。
所以这是个发现问题,修改,完善的一个循环过程。
纠结过后,程序的功能会更好些。
9、参考文献
(1)谭浩强.《C++程序设计实践指导》清华大学出版社
(2)谭浩强.《C++程序设计》清华大学出版社
*