数据结构课程设计报告超市商品管理样本.docx

数据结构课程设计报告超市商品管理样本.docx

ID:61858171

大小:71.13 KB

页数:7页

时间:2021-03-25

数据结构课程设计报告超市商品管理样本.docx_第1页
数据结构课程设计报告超市商品管理样本.docx_第2页
数据结构课程设计报告超市商品管理样本.docx_第3页
数据结构课程设计报告超市商品管理样本.docx_第4页
数据结构课程设计报告超市商品管理样本.docx_第5页
资源描述:

《数据结构课程设计报告超市商品管理样本.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。1.需求分析在某个大型生活服务区内,有三个超市,每个超市中的商品包括:商品号,商品名称,商品价格,库存数量,每种商品总数,生产日期等基本信息,假设三个超市的商品信息分别是用单链L1,L2,L3取存储的,请写一个程序实现下列任务要求:知识点:线性表操作【任务要求】1.当超市有新的商品购入是能添加到单链表中;2.能查找出三个超市中具有相同商品名称的商品信息;3.在超市商品信息L1中删除那些与其它两个超市都有的商品信息;4.能修改各超市商品基本信息,如价格等。5.能查找比较超市中相同

2、商品的销售情况,能统计每个超市中每种商品的销售量及销售额。6.能输出每个超市的所有商品信息;【测试数据】自行设定,注意测试将活区删空等特殊情况。2.概要设计2.1必要算法资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。1.当超市有新的商品购入是添加到单链表中算法概要:运用单链表的基本操作——插入一个新结点,即分配一个新的储存空间,然后依次输入结点所含的数据,再插入到原结点的尾部即可。此算法时间复杂度为O(1)。2.查找出三个超市中具有相同商品名称的商品信息算法概要:1.寻找相同商品名称算法:先比较前两个链表(超市)l1,l2

3、,运用比较字符串的strcmp()方法找出两个链表中含有相同的商品名称,然后将两个链表中具有相同商品名称的商品信息存储到新建链表fs中,再比较链表fs和l3,重复上述步骤,找出链表l1,l2,l3中都具有相同商品名称的商品,将其商品信息存储在链表fs中。此算法时间复杂度为O(n)。2.输出相同商品的商品信息:访问fs中每个结点中的商品名称,根据商品名称分别遍历原链表l1,l2,l3的商品信息找出原结点,然后将其信息输出。此算法时间复杂度为O(n)。3.在超市商品信息L1中删除那些与其它两个超市都有的商品信息算法概要:首先运用上述的寻找

4、相同商品名称算法,找出l1中那些与其它两个超市都有的商品名称,再根据其名称遍历链表l1,找出其结点删除并释放——单链表的基本操作。此算法时间复杂度为O(n)。资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。4修改各超市商品基本信息,如价格等算法概要:首先交互输入需要修改信息的商品号,排除超市中没有的商品后,定位到改商品的结点,然后选择需要修改的信息,比如价格,库存数量等,或者全部修改即可修改信息。此算法时间复杂度为O(1)。5.查找比较超市中相同商品的销售情况,统计每个超市中每种商品的销售量及销售额。算法概要:首先经过寻

5、找相同商品名称算法找出相同的商品,若没有相同商品,则返回,若有(多个)相同商品,经过交互输入商品号分别定位到3个链表中的相应结点然后输出其销售信息,包括销售量和销售额,统计每个超市中每种商品的销售量及销售额是在输出程序中一并输出。此算法时间复杂度为O(n)。6.输出每个超市的所有商品信息算法概要:遍历3个链表的所有结点息。此算法时间复杂度为,然后分别输出每个结点的所有信O(n)。2.2辅助程序1.单链表存储结构:为3个超市分别创立单链表,链表中每个结点含有7个数据,分别是:整型的商品号,字符数组型的商品名称,整型的库存数量,整型的商

6、品总数,整型的生产日期,整型的销售数量。还有一个next指针。资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。2.超市商品信息初始化:在每个链表当中交互输入每个结点的所有信息作为超市商品信息的初始化。3.销售算法:销售算法为了方便统计销售信息而存在,实现思路是:输入卖出的商品编号定位到链表中的相应结点,然后输入销售数量保存但结点中,同时该结点库存数量相应地减少。此算法时间复杂度为O(1)。2.3主程序主程序概要:主程序中首先创立3个链表然后初始化,再输出所需的操作信息供选择,经过交互式输入选择所要进行的操作,直到输入退出程序

7、按钮。1.详细设计3.1必要算法1.当超市有新的商品购入时添加到单链表中linklist*purchase(linklist*l,ints)//超市有新的商品购入是添加到单链表中{linklist*p,*q,*r,*head;intn;资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。head=l;r=l;p=l->next;//输入购入商品的基本信息q=(linklist*)malloc(sizeof(linklist));printf("请依次输入超市%d此次购入新商品的商品号、商品名称、(出售)价格、购入量、生产日期:

8、n",s);scanf("%d",&q->gno);scanf("%s",&q->name);scanf("%f",&q->price);scanf("%d",&q->amount);scan

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。