2022年数据结构课程方案商店管理系统 .pdf

上传人:Che****ry 文档编号:34867106 上传时间:2022-08-19 格式:PDF 页数:15 大小:227.39KB
返回 下载 相关 举报
2022年数据结构课程方案商店管理系统 .pdf_第1页
第1页 / 共15页
2022年数据结构课程方案商店管理系统 .pdf_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《2022年数据结构课程方案商店管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构课程方案商店管理系统 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、个人资料整理仅限学习使用数据结构课程设计题目图的存储与遍历学生姓名李中文指导教师秦飞学院管理科学与工程学院专业班级 信息管理与信息系统081 班完成时间 2018-06-10目录精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 15 页个人资料整理仅限学习使用第一章 课程设计目的 2 第二章 课程设计内容和要求 2 第三章 课程设计分析 4 第四章 算法描述 6 第五章 源代码 7 第六章 运行结果分析 20 第七章 结束语 27 第八章 参考文献 30 第一章课程设计目的本学期我们对数据结构这门课程进行了学习。这门课程是一门实践性非常强

2、的课程,为了让大家更好地理解与运用所学知识,提高动手能力,我们进行了此次课程设计实习。这次课程设计不但要求实习者掌握数据结构中的各方面知识,还要求实习者具备一定的C 语言基础和编程能力。具体说来,这次课程设计主要有两大方面目的。一是让实习者通过实习掌握数据结构中的知识。对于顺序表和链表的存储与遍历这一课题来说,所要求掌握的数据结构知识主要有:顺序表的存储结构和查找,插入,删除等基本运算;单链表的存储结构和查找,插入,删除等操作;双向链表的存储结构以及插入删除精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 15 页个人资料整理仅限学习使用

3、操作。掌握线性表的基本运算解决复杂问题。二是通过实习巩固并提高实习者的C(C+语言知识,并初步了解Visual C+的知识,提高其编程能力与专业水平。第二章课程设计内容和要求2.1 课程设计内容题目:商店存货管理系统功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。分步实施:1初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2完成最低要求:建立一个文件,包括5 个种类的货物情况,能对商品信息进行扩充 LinkList H 。H=(LinkListmalloc(sizeof(LNode 。精选学习资料 - - - - - - - - - 名师归

4、纳总结 - - - - - - -第 3 页,共 15 页个人资料整理仅限学习使用if(H H-next=NULL 。return H。 2.1.2链表的遍历的实现void Through(LinkList H LinkList p 。int Data。P=H。While(p Data=p-data 。 printf(“ %dn” ,&p-data。 p=p-next。 2.2 运行环境该程序的运行环境为Windows xp系统, Microsoft Visual C+6.0 版本,Visual Stdio2008版本。第三章课程设计分析3.1 链表的存储typedef struct char

5、 Name25 。 / 商品名称int Mount 。 /商品数量float Price 。 /商品单价long int Data 。 /入库日期long int Num 。 /商品编码goods 。typedef struct node goods data 。struct node *next 。LNode,*LinkList 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 15 页个人资料整理仅限学习使用LinkList Creat_LinkList(void LinkList H 。H=(LinkListmalloc(size

6、of(LNode。if(H H-next=NULL 。return H 。 /申请成功后,就可以给它赋值了,这里省略了3.2 链表的遍历/ 遍历,对其数据操作void Through(LinkList H LinkList p。int Data。P=H。While(p Data=p-data。 /可以再此对数据操作 printf(“ %dn” ,&p-data 。 p=p-next。 第四章算法 LinkList H 。H=(LinkListmalloc(sizeof(LNode。if(H H-next=NULL 。return H。 4.2 链表的遍历/ 遍历,对其数据操作void Thro

7、ugh(LinkList H LinkList p。int Data。P=H。While(p Data=p-data。/可以再此对数据操作 printf(“ %dn” ,&p-data。 p=p-next。 第五章源代码 / 创建链表 LinkList H 。H=(LinkListmalloc(sizeof(LNode。if(H H-next=NULL 。return H。 /定义一个全局变量 ,记录仓库中商品类总数int Max=1。 /初始化时,库中有一件商品/定义一个判断两个字符数组是否相等函数int equal(char a,char b int i=0,j。while(ai!=0|b

8、i!=0 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 15 页个人资料整理仅限学习使用 j=0。if(ai=bi i+。j=1。 else break。 return j。 /字符串比较,返回值1 相等, 0 不相等。/查找功能函数定义LinkList Search(LinkList H int k1。LinkList p。char name20。long int num。p=H。printf( 请选择: n1,按商品名称查询 n2,按商品编码查询 n0,退出n。scanf(%ld,&k1 。while(k1=1 /按商品名称查询

9、printf( 请输入商品名称 n。scanf(%s,name。while(p if(equal(p-data.Name,name=1 /查找名称 printf( 查找成功,商品名称 %s,商品数量 %d,n 商品价格 %f ,入库日期 %ld ,商品编码 %ldn,p-data.Name,p-data.Mount,p-data.Price,p-data.Data,p-data.Num。break。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 15 页个人资料整理仅限学习使用else p=p-next。 if(!p printf(

10、查找失败,库中不存在此商品!n。return (NULL 。 printf( 请选择: n1,按商品名称查询 n2,按商品编码查询 n0,退出n。 scanf(%ld,&k1 。 while(k1=2 /按商品编码查询 printf( 请输入商品编码 n。scanf(%ld,&num 。while(p if(p-data.Num=num printf( 查找成功,商品名称 %s,商品数量 %d,n 商品价格 %f ,入库日期 %ld ,商品编码 %ldn,p-data.Name,p-data.Mount,p-data.Price,p- data.Data,p-data.Num。break。 e

11、lse p=p-next。 if(!p printf( 查找失败,库中不存在此商品!n。return (NULL 。 printf( 请选择: n1,按商品名称查询 n2,按商品编码查询 n0,退出n。 scanf(%ld,&k1 。 return p。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 15 页个人资料整理仅限学习使用 / 添加商品: 1修改仓库中已有商品数量 2 添加新商品int Insert_LinkList(LinkList H LinkList p,q。int k=1,k2=1,mount=0。long int m

12、。char name125。int n。float price1=0.0。long int data1,n1 。while(k2=1 p=H。printf( 请输入商品编码 n。scanf(%ld,&m 。while(p if(p-data.Num=m k=0。break。 else p=p-next。 if(k=0 /修改商品数量 printf( 仓库中有这种商品 !n 请输入增加商品的数量n。scanf(%d,&mount 。p-data.Mount=p-data.Mount+mount。printf( 商品添加成功 n。printf( 现在库中有此商品 %d 件n,p-data.Moun

13、t 。return 1。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 15 页个人资料整理仅限学习使用else / 添加新商品 q=(LinkListmalloc(sizeof(LNode。if(!q printf( 申请空间失败 n 。return 0。 else printf( 输入商品名称 n 。scanf(%s,name1。printf( 请一次输入商品数量,单价,入库日期,编码n 例如 : 200 12000.0 20180609 10001n 。scanf(%d %f %ld %ld,&n,&price1,&data1

14、,&n1。/把新商品信息赋给新结点strcpy(p-data.Name,name1 。q-data.Mount=n。q-data.Price=price1 。q-data.Data=data1。q-data.Num=n1。/ 修改指针q-next=p-next。p-next=q。printf( 新商品添加成功 n 。Max=Max+1 。 /修改仓库中商品总类数printf( 此时仓库中共有 %d 种商品 n,Max 。return 1。 printf(1,继续添加商品 0,退出n。 scanf(%ld,&k2 。 return 1。 精选学习资料 - - - - - - - - - 名师归纳

15、总结 - - - - - - -第 11 页,共 15 页个人资料整理仅限学习使用/删除库中的商品void Del_LinkList(LinkList H LinkList p,q。long int num。int k3=1。while(k3=1 printf( 请输入要删除的商品的编号n。scanf(%ld,&num 。p=H。q=p。p=p-next。while(p if(p-data.Num=num q-next=p-next。free(p。printf( 删除成功! n。Max=Max-1 。printf( 此时仓库中有商品类 %d 种n,Max 。break。 else q=p。p=

16、p-next。 if(p=NULL printf( 仓库中没有这种商品 n 。 printf(1,继续删除 0,退出n。scanf(%d,&k3 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 15 页个人资料整理仅限学习使用 /商品出库 ,卖出void Sell(LinkList H int k4=1。long int num。LinkList p。p=H。while(k4=1 printf( 请输入商品编码 n。scanf(%ld,&num 。while(p /在仓库中查找商品 if(p-data.Num=num break。e

17、lse p=p-next。 if(p /查到商品 int m=0。float value=0,Total_value=0 。printf( 请输入卖出商品的数量 n 。scanf(%d,&m 。if(p-data.Mount=m / 仓库中商品数量够出售 value=value+p-data.Price*m。Total_value=Total_value+value 。p-data.Mount=p-data.Mount-m。/ 修改仓库中商品数量/ 显示信息printf( 商品总价为 %.2f 元n,Total_value。printf( 此商品库存还有 %d 件n,p-data.Mount

18、。 else 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 15 页个人资料整理仅限学习使用printf( 仓库中这种商品数量不足n。 else printf( 仓库中没有这种商品 n 。printf(0,退出 1,继续卖出 n。scanf(%d,&k4 。 /查找库存不足货物void Find(LinkList H LinkList p。p=H。int max=0。int k5=1。while(k5=1 printf( 请输入:商品库存数量是多少算缺货。scanf(%d,&max 。while(p /遍历货物所有结点 if(p-d

19、ata.Mount printf( 商品%s 编码%ld 库存数量%d 缺货,请及时进货n,p-data.Name,p-data.Num,p-data.Mount。p=p-next。 if(!p printf( 仓库中没有缺货的商品 n 。printf(1,重新查看 0,退出n。scanf(%ld,&k5 。 /浏览所有产品信息void browsing(LinkList H LinkList p。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 15 页个人资料整理仅限学习使用int k8=1。p=H。while(p printf(

20、第%d 种商品信息 n,k8。printf( 商品名称 %s,商品数量%d ,商品价格%f ,入库日期%ld ,商品编码%ldn,p-data.Name,p-data.Mount,p-data.Price,p-data.Data,p-data.Num 。k8+。p=p-next。 /按日期搜查商品信息void Search_Time(LinkList H LinkList p。long int time 。int i=0。p=H。printf( 请输入日期 。scanf(%ld,&time 。while(p/遍历查找 if(p-data.Data=time i+。/统计数量printf( 商品名称 %s,商品数量 %d ,商品价格 %f ,入库日期 %ld,商品编码%ldn,p-data.Name,p-data.Mount,p-data.Price,p-data.Data,p-data.Num 。 p=p-next。 printf( 共有%d种商品时在 %ld 入库的 n,i,time。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 15 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁