商品管理系统课程设计.docx
- 文档编号:4181361
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:17
- 大小:286.88KB
商品管理系统课程设计.docx
《商品管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《商品管理系统课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
商品管理系统课程设计
编号:
B04931053
学号:
201240450130
课程设计
教学院
计算机学院
课程名称
面向对象程序设计课程设计
题目
商品管理系统
专业
软件工程
班级
12软件工程
姓名
黄玲
同组人员
章维姜晨金攀刘佳旺
指导教师
谢晋
2013
年
12
月
15
日
一概述
1.课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2.课程设计的要求
需要的基本知识与技能,尚未掌握的知识点,需要查阅相关资料。
教师对本题目所提出的要求等。
课程设计是为了配合《面向对象程序设计》课程的开设,通过设计一个完整的程序,使学生掌握C++面向对象程序设计的基本特性:
类、对象、继承与派生、多态、虚函数、模板、流类库等。
遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。
了解当前常用的软件开发工具(VisualC++),要求熟练掌握基于MFC的程序设计,培养解决实际问题的能力。
要求如下:
1.要充分认识课程设计对自己的重要性,认真做好设计前的各项准备工作。
2.既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3.独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4.无论在校外,校内,都要严格遵守学校的学习纪律,规章制度,学生有事离校必须请假。
课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
5.在设计过程中,要严格要求自己,树立严肃,严密,严谨的科学态度,必须按时,按质,按量完成课程设计。
6.小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
二总体方案设计
1、商品管理系统:
使用面向对象的程序设计方法,程序的功能主要包括:
对商品信息的输入、删除、查找、修改等基本功能,并且能够分类统计等操作。
本系统为超市管理系统的设计与实现,可供超市管理者对超市商品信息的查询和修改,适用于各种小型超市,有效地提高了工作效率。
若查询不符合实际情况,则会提示错误。
Enter键确认。
本系统实现以下功能:
(1)进入系统后提示适用方法,键入相应数字依次将商品代码(由阿拉伯数字组成)、商品名称、商品产地、商品单价以及库存量等商品信息存入并保存。
(2)键入商品名称,可将要求删除商品调出,并予以删除。
(3)键入相应数字选项,可修改超市商品的所有信息。
(4)键入相应数字选项,可查询需要查询的商品的所有信息。
(5)键入相应数字选项,可显示超市所有商品的所有信息。
(6)键入数字7退出系统。
2、整体设计思路:
(1)、超市初始化模块
类名为Goods和Supermarket,分别定义了商品的名称,代码,产地,单价和库存数量,以及需要在链表里面寻找的指针。
(2)、增加商品的函数模块
在文件中写入产品的信息,并且判断商品的单价和库存量是否超标(65535),并且加入链表。
(3)、删除商品的函数模块
删除结点已达到删除产品的目的。
(4)、修改商品的函数模块
载入商品的全部数据,并且放入内存,并且可以重新写入修改。
如果没有找到商品,则返回。
(5)、统计商品的函数模块
统计结点数以记录商品的数量,载入所有商品的数量和单价计算商品的总价值。
(6)、数据存储的函数模块
将链表的所有数据写入文件,然后关闭文件。
(7)、数据读入的函数模块
打开文件,然后将文件中的数据写入内存以备用。
系统总体功能框架图:
商品管理系统
商品信息管理模块
商品排序模块
数据保存模块
系统集成模块
商品信息显示模块
增加商品
删除商品
查询商品
修改商品
统计商品
3、算法的整体思路:
1)、主调界面显示各项功能,通过输入相应数字实现相应功能。
2)、商品信息显示模块显示各种商品的信息。
3)、商品信息管理模块主要管理商品的增加、商品信息的修改、删除、查询及统计等功能。
4)、商品排序模块是对商品进行排序。
5)、数据保存模块是保存商品的各种信息。
6)、系统集成模块是商品系统的集合。
4、主要特点:
(1)本系统实现了对超市商品的管理。
(2)本系统可以根据用户输入来调整超市商品信息。
(3)本系统可以直接显示超市所有商品。
(4)本系统的开发语言是当下比较流行的C++语言开发。
5、本人所承担的设计工作:
修改商品信息
(1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称
(2)查找要修改的结点,定义p1、p2指针,p1为指向goods商品表指针,p2为输入的商品指针,判断p1指针,如果输入的商品名和原有的商品名一致,则结束本次循环,否则,p1和p2指针同化,p1接着指向p1的下一指针。
(3)修改结点,若找到相应的要修改的结点,则p1指向Output函数,接着输出要修改的信息,利用Switch语句来调用相应的修改信息。
(4)创建新商品的结点,把原来要修改的结点删除并重新替换要创建的商品结点。
如果找到等待修改的结点则修改,否则保持商品表信息不变。
三详细设计
1、主界面流程图:
设计商品管理系统的主界面,主界面相应的实现有下列菜单:
增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。
否
是
2、商品管理功能的使用说明:
在本管理模块主要有五个功能,即商品添加功能、删除功能、修改功能、查询功能,统计功能,主要适用于超市商品管理人员对库存商品进行管理。
根据首页面的提示信息进入相依的操作。
键入1便进入添加商品功能,会提示用户依次键入商品的代码、名称、产地、分类、价格、库存量等六个信息,然后会出现提示语:
是否保存?
键入Y将该商品信息保存。
键入2便进入删除商品功能,首先选择输入商品类别,再输入要删除的商品名称,系统进行相应的查询,如果没有找到该商品的记录,则会提示该商品不在物品库当中,如果有则进行删除并且提示删除成功。
键入3便进入修改商品的功能,输入商品的名称,系统在商品库中进行对比查找,然后进行修改提示,选择要进行修改的项目,将会出现提示语选择要修改商品的信息(1-商品编码,2-商品名称,3-产地,4-分类,5-单价,6-商品库存量,7-修改全部信息),选择编号进行修改,输入新的信息,并且进行保存。
键入4便进入商品查询功能,通过输入要查询的商品的名称,进行查询并显示所查询到商品的所有信息。
当所查询的商品不存在时,将会显示未找到该类商品。
键入5便进入商品统计功能,通过提示可按商品名称、分类进行统计,输入要统计的名称或分类便可进行统计,并且输出当前所有商品的总数量及每件商品的详细信息。
在输出统计信息时,可按照部分商品信息有从大到小的顺序进行排序输出显示。
键入6便保存文件,退出该商品管理系统。
3、修改商品信息的程序:
voidSupermarket:
:
Modify()//修改商品信息
{
doublenum,count;
charname[20],address[30],kind[10];
intprice;
cout<<"\n修改商品,请输入要查的商品名称:
\n";
cout<<"Name:
";cin>>name;
//查找要修改的结点
Goods*p1,*p2;p1=goods;
while(p1)
{
if(strcmp(p1->name,name)==0)break;
else
{
p2=p1;
p1=p1->next;
}
}
//修改结点
if(p1!
=NULL)//若找到结点
{
p1->Output();
cout<<"\n请选择要修改的信息(1-商品编码,2-商品名称,3-产地,4-分类,5-单价,6-该商品库存量,7-修改全部信息):
\n";
inta;cin>>a;
switch(a)
{
case1:
cout<<"请输入新商品编码:
";
cin>>num;
strcpy(name,p1->name);
strcpy(address,p1->address);
strcpy(kind,p1->kind);
price=p1->price;
count=p1->count;
break;
case2:
cout<<"请输入新名称:
";
cin>>name;
num=p1->num;
strcpy(address,p1->address);
strcpy(kind,p1->kind);
price=p1->price;
count=p1->count;
break;
case3:
cout<<"请输入新产地:
";
cin>>address;
num=p1->num;
strcpy(kind,p1->kind);
strcpy(name,p1->name);
price=p1->price;
count=p1->count;
break;
case4:
cout<<"请输入新分类:
";
cin>>kind;
num=p1->num;
strcpy(address,p1->address);
price=p1->price;
count=p1->count;
break;
case5:
cout<<"请输入新单价:
";
cin>>price;
num=p1->num;
strcpy(name,p1->name);
strcpy(address,p1->address);
strcpy(kind,p1->kind);
count=p1->count;
break;
case6:
cout<<"请输入新库存数据:
";
cin>>count;
num=p1->num;
strcpy(name,p1->name);
strcpy(address,p1->address);
strcpy(kind,p1->kind);
price=p1->price;
break;
case7:
cout<<"请输入新信息:
\n";
cout<<"商品编码:
";
cin>>num;
cout<<"商品名称:
";
cin>>name;
cout<<"商品产地:
";
cin>>address;
cout<<"商品分类:
";
cin>>kind;
cout<<"商品单价:
";
cin>>price;
cout<<"该商品库存量:
";
cin>>count;
break;
}
Goods*p3;//创建新商品结点
p3=newGoods(num,name,address,kind,price,count);
//员工结点替换到链表
p3->next=p1->next;
if(p1==goods)//若要替换的结点是第一个结点
goods=p3;
else//若要替换的结点是后续结点
p2->next=p3;
deletep1;//删除原来的商品结点
cout<<"修改成功!
\n";
}
else//未找到结点
cout<<"对不起,未找到!
\n";
}
以上是修改商品信息的部分,输入要删除的商品的名字,通过指针找到该商品,通过switch选择需要需要修改的商品的信息,并将其进行修改,然后新建一个节点,将该商品然来的节点赋给该节点,且释放原来的节点。
4、修改算法流程图:
否
是
否
是
否
是
四程序的调试与运行结果说明
打开软件后见到如图所示的界面正式进入超市管理系统
该软件有增加商品、删除商品、修改商品、查询商品、统计商品、显示商品六大功能。
(1)增加商品
选择1进入商品录入界面
依次录入商品代码、商品名称、商品产地、商品单价、商品的库存量并按Y保存,需要注意的是商品单价限制在0~65535,商品的库存量限制在0~99999范围内。
(2)删除商品
首先输入商品的名称,然后选择是Y或者N。
(3)修改商品
输入商品的名称,系统会显示商品代码、名称、产地、价格、库存量,然后分别选择1改商品代码、2改商品名称、3改商品产地、4改商品单价、5单价6改商品库存量、7改全部信息
(4)查询商品
输入商品名称后,系统会显示你所查询的商品信息,有商品的代码、商品的名称、商品的产地、商品的单价和库存量等。
(5)统计商品
选择5后进入统计商品,输入商品名称后,会显示出商品的数量和总价值。
(6)退出
选择6后系统会自动退出,并保存数据到文件中。
在程序当前文件夹中能看到该文本文档。
五课程设计总结
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。
最初从指导老师讲解个任务相关的基础知识,下来自己查阅相关资料熟悉任务要求,接下来两天进行查阅相关资料学习相关的基础知识,逐步加深对个知识点的了解和掌握,然后构思系统模块和层次结构,在有了具体的想法后便开始进行系统程序代码的的编程、测试,最终实现整个系统的功能和要求。
尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序
这次的课程设计,更使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。
使我们体会到自身知识和能力能在实际中的应用和发挥。
不但可以激发创新意识,还可以开发创造能力、培养沟通能力。
在整个实践过程当中,当然不是一帆风顺的,整个学期所学的知识点基本都要在这一个系统当中运用,有些知识点用起来很顺手,有些知识板块还是不能很好掌握。
对于模板的学习和掌握不够,用起来十分生疏,还有文件的处理、以及整个系统类的继承机制处理不是很明确,一开始所有单个类的函数功能基本都实现,到把所有的层次结构统筹规划关联起来时就出问题,不知该从何下手。
在同组成员的共同努力下,最终完成了整个系统的功能实现。
通过一星期C++程序设计的学习,让自己收获了不少新的知识,同时也让自己感受到收获的喜悦,通过自己的努力,将一个程序从头到尾一步步完成,一个个错误的解决,一个个知识点的回顾掌握学习,慢慢的积累学习,养成好的变成习惯和严谨的逻辑思维。
同时,感谢指导老师的细心解释,同学的热情帮助,让自己收获知识,弥补不足受益匪浅。
参考文献
[1]谭浩强.C++程序设计[M].北京:
清华大学出版社,2004.
[2]邓文新.C++语言程序设计方法[M].北京:
清华大学出版社,2010.
[3]刘维富.C++程序设计实验与编程实践[M].北京:
高等教育出版社,2007.
[4]谭浩强.C++语言程序设计题解与上机指导[M].北京:
清华大学出版社,2010.
[5]孟宪福.C++语言程序设计教程[M].北京:
清华大学出版社,2008.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品 管理 系统 课程设计