付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、个人资料整理仅限学习使用数据结构课程设计题目图的存储与遍历学生姓名李中文指导教师秦飞学院管理科学与工程学院专业班级信息管理与信息系统081班完成时间2018-06-10个人资料整理仅限学习使用第一章课程设计目的2第二章课程设计内容和要求2第三章课程设计分析4第四章算法描述6第五章源代码7第六章运行结果分析20第七章结束语27第八章参考文献30第一章课程设计目的本学期我们对数据结构这门课程进行了学习。这门课程是一门实践性非常强的课程,为了让大家更好地理解与运用所学知识,提高动手能力,我们进行了此次课程设计实习。这次课程设计不但要求实习者掌握数据结构中的各方面知识,还要求实习者具备一定的c语言基础
2、和编程能力。具体说来,这次课程设计主要有两大方面目的。一是让实习者通过实习掌握数据结构中的知识。对于顺序表和链表的存储与遍历这一课题来说,所要求掌握的数据结构知识主要有:顺序表的存储结构和查找,插入,删除等基本运算;单链表的存储结构和查找,插入,删除等操作;双向链表的存储结构以及插入删除个人资料整理仅限学习使用操作。掌握线性表的基本运算解决复杂问题。二是通过实习巩固并提高实习者的C(C+语言知识,并初步了解VisualC+的知识,提高其编程能力与专业水平。第二章课程设计内容和要求2.1 课程设计内容题目:商店存货管理系统功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中
3、止时问的货物。分步实施:1. 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2. 完成最低要求:建立一个文件,包括5个种类的货物情况,能对商品信息进行扩充追加),修改和删除以及简单的排序;3. 进一步要求:扩充商品数量,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。2.1.1 链表的建立typedefstructcharName25。/商品名称intMounto商品数量floatP
4、rice。/商品单价longintData。/入库日期longintNum。/商品编码jgoodsotypedefstructnodegoodsdatastructnode*next。LNode,*LinkList。LinkListCreat_LinkList(void>LinkListH。H=(LinkList>malloc(sizeof(LNode>>。个人资料整理仅限学习使用if(H>H->next=NULL。returnH。)2.1.2 链表的遍历的实现voidThrough(LinkListH>(LinkLData。P=H。W
5、hile(p>(Data=p->dataprintf(%dn”,&p->data>。p=p->nexto)2.2运行环境该程序的运行环境为Windowsxp系统,MicrosoftVisualC+6.0版本,VisualStdio2008版本。第三章课程设计分析3.1 链表的存储typedefstructcharName25。/商品名称intMount。商品数量floatPrice。/商品单价longintData。/入库日期longintNum。/商品编码goods。typedefstructnodegoodsdata。structnode*next。L
6、Node,*LinkList。个人资料整理仅限学习使用LinkListCreat_LinkList(void>(LinkListH。H=(LinkList>malloc(sizeof(LNode>>。if(H>H->next=NULL。returnH。申请成功后,就可以给它赋值了,这里省略了3.2 链表的遍历/遍历,对其数据操作voidThrough(LinkListH>(LinkLData。P=H。While(p>(Data=p->data。/阿T以再此对数据操作printf(%dn”,&p->data>
7、;。p=p->next。)第四章算法数据结构)描述4.1 链表的存储结构的建立。typedefstructcharName25。/商品名称intMounto商品数量floatPrice。商品单价longintData。/入库日期个人资料整理仅限学习使用longintNum。商品编码goods/链表结点定义typedefstructnodegoodsdatastructnode*nextLNode,*LinkList。/创建空单链表LinkListCreat_LinkList(void>LinkListH。H=(LinkList>malloc(sizeof(LNode>&
8、gt;。if(H>H->next=NULL。returnH。4.2 链表的遍历/遍历,对其数据操作voidThrough(LinkListH>LinkLData。P=H0While(p>Data=p->data。可以再此对数据操作printf(%dn”,&p->data>。p=p->next)第五章源代码程序)个人资料整理仅限学习使用#include"stdio.h"#include"string.h"#include"malloc.h"#include"
9、;iostream”typedefstructcharName25。/商品名称intMounto商品数量floatPrice。商品单价longintData。/入库日期longintNum。商品编码goodstypedefstructnodegoodsdatastructnode*nextLNode,*LinkList。/结点定义LinkListCreat_LinkList(void>/创建链表LinkListH。H=(LinkList>malloc(sizeof(LNode>>。if(H>H->next=NULL。returnH。/定义一个全局变量,记录仓
10、库中商品类总数intMax=1。/初始化时,库中有一件商品/定义一个判断两个字符数组是否相等函数intequal(chara,charb>inti=0,j。while(ai!='0'|bi!='川'>个人资料整理仅限学习使用j=0oif(ai=bi>(i+oj=1oelsebreakoreturnj。字符串比较,返回值1相等,0不相等。/查找功能函数定义LinkListSearch(LinkListH>(intk1oLinkListp。charname20longintnum。p=Hoprintf("请选择:n1,按商品名称查询
11、n2,按商品编码查询n0,退出n”>。scanf("%ld”,&k1>。while(k1=1>按商品名称查询(printf(“请输入商品名称n”>。scanf("%s”,name>。while(p>(if(equal(p->data.Name,name>=1>/脩找名称(printf("查找成功,商品名称s,商品数量%,n商品价格上入库日期%ld,商品编码ldn",p->data.Name,p->data.Mount,p->data.Price,p->data.Data
12、,p->data.Num>。breako个人资料整理仅限学习使用elsep=p->next。if(lp>(printf("查找失败,库中不存在此商品!n”>。return(NULL>。printf("请选择:n1,按商品名称查询n2,按商品编码查询n0,退出n”>。scanf("%ld",&k1>。while(k1=2>/按商品编码查询(printf(“请输入商品编码数字>n”>。scanf("%ld",&num>。while(p>(if(p
13、->data.Num=num>(printf("查找成功,商品名称s,商品数量%,n商品价格,入库日期%ld,商品编码ldn",p->data.Name,p->data.Mount,p->data.Price,p->data.Data,p->data.Num>。break。elsep=p->nextif(lp>(printf("查找失败,库中不存在此商品!n”>。return(NULL>。printf("请选择:n1,按商品名称查询n2,按商品编码查询n0,退出n”>。scan
14、f("%ld",&k1>。returnp。个人资料整理仅限学习使用/添加商品:1修改仓库中已有商品数量2添加新商品intInsert_LinkList(LinkListH>(LinkListp,k=1,k2=1,mount=0olongintm。charname125intn。floatprice1=0.0olongintdata1,n1while(k2=1>(p=Hoprintf(“请输入商品编码n”>。scanf("%ld”,&m>。while(p>(if(p->data.Num=m>(
15、k=0obreak。elsep=p->nextif(k=0>修改商品数量(printf(”仓库中有这种商品!n请输入增加商品的数量n”>scanf("%d”,&mount>。p->data.Mount=p->data.Mount+mount。printf("商品添加成功n”>。printf(“现在库中有此商品%d件n",p->data.Mount>。return1。个人资料整理仅限学习使用else/添加新商品(q=(LinkList>malloc(sizeof(LNode>>。if(l
16、q>(printf("申请空间失败n”>。return0。else(printf("输入商品名称n”>。scanf("%s”,name1>。printf(“请一次输入商品数量,单价,入库日期,编码n例如:20012000.02018060910001n"Xscanf("%d%f%ld%ld",&n,&price1,&data1,&n1>。/把新商品信息赋给新结点strcpy(p->data.Name,name1>q->data.Mount=n。q->
17、data.Price=price1oq->data.Data=data1。q->data.Num=n1。/修改指针q->next=p->nextp->next=q。printf("新商品添加成功n”>。Max=Max+1。修改仓库中商品总类数printf(“此时仓库中共有%d种商品n",Max>。return1。printf("1,继续添加商品0,退出口”>。scanf("%ld”,&k2>。return1。个人资料整理仅限学习使用删除库中的商品voidDel_LinkList(LinkLis
18、tH>(LinkListp,k3=1。while(k3=1>(printf(“请输入要删除的商品的编号n”>。scanf("%ld",&num>。p=H。q=p。p=p->nextowhile(p>(if(p->data.Num=num>(q->next=p->nextfree(p>。printf("删除成功!n”>。Max=Max-1。printf(“此时仓库中有商品类%d种n",Max>。break。else(q=p。p=p->
19、nextif(p=NULL>(printf(“仓库中没有这种商品n”>。printf("1,继续删除0,退出n">。scanf("%d”,&k3>。个人资料整理仅限学习使用商品出库渎出voidSell(LinkListH>(intk4=1olongintnum。LinkListp。p=Howhile(k4=1>(printf(“请输入商品编码n”>。scanf("%ld",&num>。while(p>/在仓库中查找商品(if(p->data.Num=num>bre
20、ak。elsep=p->nextif(p>/查到商品(intm=0ofloatvalue=0,Total_value=0printf(“请输入卖出商品的数量n”>。scanf("%d”,&m>。if(p->data.Mount>=m>/仓库中商品数量够出售(value=value+p->data.Price*m。Total_value=Total_value+valuep->data.Mount=p->data.Mount-m。/修改仓库中商品数量/显示信息printf("商品总价为.2f元n",
21、Total_value>。printf("此商品库存还有%d件n",p->data.Mount>。else个人资料整理仅限学习使用printf("仓I川这神商品薮量示瓦n”>。elseprintf(“仓库中没有这种商品n”>。printf("0,退出1,继续卖出n”>。scanf("%d",&k4>。查找库存不足货物voidFind(LinkListH>LinkListp。p=Hointmax=0ointk5=1owhile(k5=1>printf(“请输入:商品库存数量是多少算缺货<默认为0)n”>。scanf("%d”,&max>。while(p>遍历货物所有结点if(p->data.Mount<=max>printf("商品%s编码%ld库存数量%d缺货,请及时进货n'',p->data.Name,p->data.Num,p->data.Mount>。p=p->nextoif(!p>printf("仓库中没有缺
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 架棚工风险管理标准及管理措施培训
- 2026中国新式茶饮产品迭代与门店扩张战略分析报告
- 2026中国新能源车产业链市场需求与供给分析及投资评估规划分析研究报告
- 一般工业企业检查要点与实践指南
- 2026时尚零售行业数字化转型与消费者行为研究
- 2026中国智能家电行业市场现状需求分析及投资评估规划分析研究报告
- 2026中国橡胶制品行业市场现状发展趋势分析及投资效益评估规划研究评估报告
- 2026软件游戏行业市场供需分析及投资评估规划分析研究报告
- 2026清洁能源政策扶持与传统化石能源转型路径研究
- 2026Fast芯片组智慧城市建设项目配套需求预测
- 村保洁人员考核奖惩制度
- 军训教官量化考核制度
- 交通安全教育手册(标准版)
- 墓地恢复重建协议书
- 2025年EDI说明书文档
- 基于图论的生物信息学研究-洞察及研究
- 军事知识竞赛试题及答案
- (高清版)DBJ∕T 13-318-2025 《建筑施工盘扣式钢管脚手架安全技术标准》
- 2025年初中语文教师进城考试试卷 含答案(三套)
- 股骨上段骨折课件
- 四川省成都市石室联合中学教育集团2023-2024学年八年级上学期期中物理试卷
评论
0/150
提交评论