数据结构课程设计报告 家电库存管理系统的设计.docx
- 文档编号:29899103
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:15
- 大小:347.69KB
数据结构课程设计报告 家电库存管理系统的设计.docx
《数据结构课程设计报告 家电库存管理系统的设计.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告 家电库存管理系统的设计.docx(15页珍藏版)》请在冰豆网上搜索。
数据结构课程设计报告家电库存管理系统的设计
重庆科技学院
《数据结构》课程设计
报告
学院:
_电气与信息工程学院_专业班级:
计科
学生姓名:
学号:
设计地点(单位)___计算机基础自主学习中心___
设计题目:
_______家电库存管理系统的设计__
完成日期:
2012年7月6日
指导教师评语:
__________________________________
____________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
重庆科技学院
课程设计任务书
设计题目:
家电库存管理系统的设计
学生姓名
课程名称
数据结构课程设计
专业班级
计科
地点
计算机基础自主学习中心
起止时间
2012.6.25-2012.7.6
设计内容及要求
以链表结构的有序表表示某商场家电部的库存模型。
当有提货或进货时需要对该数据及时进行维护。
每次退出程序时,将该链表中的数据以文件形式保存在磁盘上,每次启动程序时,需将以文件形式保存的数据恢复成链表结构的有序表。
链表结点的数据域包括:
类别、型号、品牌、重量、单价、数量、生产日期、厂家名称,默认按类别、品牌升序排好序。
程序功能包括:
创建链表、插入、删除、修改、查询、排序(库存、类型、生产日期)等。
设计
参数
测试数据要求:
家电类别(如:
电视机,空调,冰箱等)不少于5种,记录数量不少于500。
数据示例:
电视机CH215长虹25KG2500202012-6-15长虹公司
进度
要求
2012.6.25完成任务的讲解、并接受课程设计任务,选定课程设计的题目
2012.6.26了解任务的算法、并画出算法的程序流程图,对任务的关键技术进行验证、并确定解决办法
2012.6.27-2012.6.29程序设计及编码,上机调试
2012.7.02对程序进行调试,设计测试用例进行测试
2012.7.03整理课程设计的过程、并进行总结,完善程序功能
2012.7.04编写课程设计报告初稿
2012.7.05完善课程设计报告、并准备答辨
2012.7.06提交课程设计报告和程序,进行答辨
参考资料
1.严蔚敏吴伟民,数据结构,清华大学出版社,2007.3
2.程杰,大话数据结构,清华大学出版社,2011.6
3.(美)StephenPrata,CPrimerPlus中文版(第五版),人民邮电出版社,2005.2
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,学院审批后交学院教务办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
系主任:
雷亮指导教师:
黄永文/王双明/熊茜/彭军/王成敏
2012年6月20日
摘要
在经济飞速发展今天,商品流通日益发达。
家电产品消费产生的利润已近成为各商家不可忽略的一部分。
各种商品的库存量在每天的销售与进货过程中会发生不断的变化,因而对于商品的管理越发显得重要。
简洁便利的管理系统不仅节省了时间,而且解决了人力资源上的浪费。
可以这样说,拥有好的管理系统是企业和商家抢占先机的必胜法宝。
论文对商品库存管理系统的介绍,使用链表的方式来实现。
把商品信息都存入链表中。
创建商品信息、插入商品信息、删除商品信息、修改商品信息、查询商品信息、商品信息的排序和保存都在链表中实现。
关键词:
商品流通商品库存管理系统链表
1设计内容和要求
1.1主要设计内容
采用链表结构的有序表表示某商场家电部的库存模型。
当有提货或进货时需要对该数据及时进行维护。
每次退出程序时,将该链表中的数据以文件形式保存在磁盘上,每次启动程序时,需将以文件形式保存的数据恢复成链表结构的有序表。
1.2设计的基本要求
链表结点的数据域包括:
商品类别、商品型号、商品品牌、商品重量、商品单价、商品数量、商品生产日期、厂家名称,默认按单价升序排好序。
程序功能应包括:
创建商品链表、商品信息插入、商品信息删除、商品信息修改、商品信息查询、商品信息排序等。
当输入错误时提示出错,并提示重新输入。
避免出现页面数据过多要使用清屏。
当选择使用的功能完毕后,按任意键返回主菜单。
设计的思路明确。
2算法设计的思想
2.1数据初始化
在一天的销售开始时,商家应首先判断今天所卖的商品中在前一天的是否有记录存在,若有可以进行其他操作,如新的商品信息的插入和删除等。
也可以初始化,从新输入所需要入库的商品信息。
当输入完毕后,可按任意键返回主菜单。
进行其它操作。
2.2插入信息
有新的商品需要入库时,在库存中划出一点新的空间,在新的空间里,把商品的信息依次存进去。
当然添加的信息根据商家的需要,可以的话想添几种都可以,任用户选择。
把新产品入库后,就可以对外销售了。
也可以进行维护等其他操作。
2.3删除信息
商品过期了就要下架销毁,商人要保证信誉第一。
(当然也包括不流行了,下架处理)明确过期的是那一种商品(看好名称、型号、品牌以免错杀无辜),然后销毁。
腾出的地方可以放其它的商品。
2.4统计信息
对于那些大型商家来说,有序的管理商品很重要。
每天要做好商品统计,但统计要讲究方法,一股脑的全统计了太麻烦,一个个统计又显得太没有效率了。
所以选择一种简单点的方法:
按单价升序排列,再依次输出商品的信息。
这样一目了然。
2.5查询信息
商家肯定会面临消费者的咨询,想要了解某种产品的具体信息。
按照消费者提供的信息,输入商品名称、型号、品牌,然后点击确定,产品信息就出来了。
2.6更新信息
当商品卖出、买入、更换等等时,不可避免的要对商品进行更新。
输入名称、型号、品牌明确你要更新的产品,输入更新的值,点击确定一切OK。
2.7退出并保存信息
商店打烊了,把一天结束后的商品信息全部存到文档中,以供第2天使用。
3算法的实现
3.1数据初始化
当用户选择使用intInitJD()函数时对链表进行初始化,定义一个新的链表j,为j申请空间j=(jd)malloc(sizeof(JD));
j->next=NULL;
P=(jd)malloc(sizeof(JD))每输入一个商品信息时,新申请一个节点来存储商品信息。
p->next=j->next;//将新节点的下一个指为空
j->next=p;//加入到链表末端
3.2插入信息
当用户选择使用intinsertJD()函数时,传递进初始化后的链表j进入函数,申请一个新的节点p0来存放新的商品的信息。
jdp0;//定义一个新的JD型的指针p0
p0->next=j->next;//将新节点的下一个指为空
j->next=p0//加入到链表j的末端
3.3删除信息
当用户选择使用intdeletJD(jd&j,Jiadian&e)时进行删除操做。
先判断链表j是否为空。
在输入商品的类别,型号,品牌进行比较,明确商品信息。
if(strcmp(e.Leibie,p1->data.Leibie)==0&&strcmp(e.Xinghao,p1->data.Xinghao)==0&&strcmp(e.Pinpai,p1->data.Pinpai)==0)
e=p1->data;//指针e做记录,为输出做准备
p2->next=p1->next;//将删除节点前节点指向删除节点的下一个节点
3.4统计信息
当用户选择使用inttotalJD(jd&j)函数时进行商品信息统计,首先调用排序sortJD(j),在链表不为空的时候,使商品按单价升序重新排列
if(p->data.Danjia<=min.Danjia)
{
min=p->data;
p->data=q->data;
q->data=min;
}
再遍历链表输出所有商品信息。
while(p!
=NULL)//输出整个链表信息
{
printf(“输出商品信息”);
p=p->next;
}
3.5查询信息
当用户选择intsearchJD(jd&j,Jiadian&e,int&flag)函数时进行商品查询
在链表不为空的情况下
while(p!
=NULL)
{
if(p==NULL||strcmp(e.Leibie,p->data.Leibie)==0&&strcmp(e.Xinghao,p->data.Xinghao)==0&&strcmp(e.Pinpai,p->data.Pinpai)==0)
{
g=1;
break;
}
p=p->next;
}
if(g=1)
{
printf(“输出商品信息”);
}
3.6更新商品信息
当用户选择intgengxinJD(jd&j,int&flag)函数时进行更新操作;首先判断链表是否为空。
在不为空的情况下输入选择更改的方面。
searchJD(j,e,flag);//再次调用查询函数确定要更新的商品
if(flag==0)
return0;
p=j->next;
while(p!
=NULL)
{
if(p==NULL||strcmp(p->data.Leibie,e.Leibie)==0)//找到要更该的信息
{
break;
}
p=p->next;
}
printf("把产品的类别更新为\n");
scanf("%s",e1.Leibie);
strcpy(p->data.Leibie,e1.Leibie);//调用函数,进行互换
printf(“输出更新后的商品信息:
”);
3.6退出并保存信息
intfpIn(jd&j)//写入信息到文件
{
if(!
(fp=fopen("joeq7.txt","w")))//写到文件中
{
printf("cannotopenfile\n");
return0;
}
p=j->next;
while(p!
=NULL)//将信息写入文件
{
fscanf(“把信息写入文本中”);
p=p->next;}
4主要功能设计流程
开始
图4.1整体流程图
进入主界面,将会出现一系列的提示,有许多选择供用户选择。
通过输入choice的值来进行选择。
当输入错误时系统会提醒你重新输入选择。
当用户选择1系统将初始化商品信息,用户输入2时插入新的商品信息,用户输入3时删除商品信息,用户输入4时系统统计所有商品信息并且输出到屏幕,用户输入5时将查询其想要的商品信息并输出到屏幕,用户输入6将更新商品的部分信息并输出到屏幕,用户输入0退出商品库存管理系统并且系统将保存商品信息于文件中,以供下次使用
5程序的测试
5.1数据初始化
图5.1主界面
图5.2商品信息初始化
图5.3初始化后统计信息
5.2插入信息
图5.4插入商品信息
图5.5插入后统计信息
5.3删除信息
图5.6删除信息
图5.7删除后统计信息
5.4查询信息
图5.8查询信息
5.5更新信息
图5.9更新产品信息
5.6退出
图5.10退出系统
图5.11存储文档
6总结
参考文献
[1]严蔚敏吴伟民数据结构(C语言版)清华大学出版社,2000
[2]文益民周学毛李健数据结构与程序设计人民邮电出版社2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课程设计报告 家电库存管理系统的设计 数据结构 课程设计 报告 家电 库存 管理 系统 设计