《2022年数据结构课程方案商店管理系统.docx》由会员分享,可在线阅读,更多相关《2022年数据结构课程方案商店管理系统.docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用数据结构课程设计题 目图的储备与遍历同学姓名 李中文指导老师 秦飞学 院治理科学与工程学院专业班级 信息治理与信息系统 081 班完成时间 2022-06-10目 录名师归纳总结 - - - - - - -第 1 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用第一章 课程设计目的 2 其次章 课程设计内容和要求 2 第三章 课程设计分析 4 第四章 算法描述 6 第五章 源代码 7 第六章 运行结果分析 20 第七章 终止语 27 第八章 参考文献 30 第一章 课程设计目
2、的本学期我们对数据结构这门课程进行了学习;这门课程是一门实践性特别强的课程,为了让大家更好地懂得与运用所学学问,提高动手才能,我们进行了此次课程设计实习;这次课程设计不但要求实习者把握数据结构中的各方面学问,仍要求实习者具备肯定的 C 语言基础和编程才能;详细说来,这次课程设计主要有两大方面目的;一是让实习者通过实习把握数据结构中的学问;对于次序表和链表的储备与遍历这一课题来说,所要求把握的数据结构学问主要有:次序表的储备结构和查找,插入,删除等基本运算;单链表的储备结构和查找,插入,删除等操作;双向链表的储备结构以及插入删除名师归纳总结 - - - - - - -第 2 页,共 15 页精选
3、学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 操作;把握线性表的基本运算解决复杂问题;二是通过实习巩固并提高实习者的CC+语言学问,并初步明白Visual C+的学问,提高其编程才能与专业水平;其次章 课程设计内容和要求 2.1 课程设计内容 题目:商店存货治理系统 功能: 建立一 商店存货治理系统,要求每次出货时取进货时间最早且最接近保质期中止时 间的货物;分步实施:初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;12完成最低要求:建立一个文件,包括充 LinkList H ;H=LinkListmallocsizeofLNode ;名师归纳总结 -
4、 - - - - - -第 3 页,共 15 页精选学习资料 - - - - - - - - - ifH 个人资料整理仅限学习使用H-next=NULL ;return H; 2.1.2链表的遍历的实现 void ThroughLinkList H LinkList p ;int Data;P=H;Whilep Data=p-data; printf“%dn”,&p-data; p=p-next; 2.2 运行环境 该程序的运行环境为Windows xp 系统, Microsoft Visual C+6.0 版本 ,Visual Stdio2022版本;第三章 课程设计分析3.1 链表的储备
5、typedef struct char 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_LinkListvoid LinkList H
6、;H=LinkListmallocsizeofLNode;ifH H-next=NULL ;return H ; /申请胜利后,就可以给它赋值了,这里省略了3.2 链表的遍历 / 遍历,对其数据操作 void ThroughLinkList H LinkList p;int Data;P=H;Whilep Data=p-data; /可以再此对数据操作 printf“ %dn ” ,&p-data ; p=p-next; 第四章 算法 LinkList H ;H=LinkListmallocsizeofLNode;ifH H-next=NULL ;return H ; 4.2 链表的遍历 /
7、遍历,对其数据操作 void ThroughLinkList H LinkList p;int Data;P=H;Whilep Data=p-data;/可以再此对数据操作 printf“ %dn ” ,&p-data ; p=p-next; 第五章 源代码 / 创建链表 LinkList H ;H=LinkListmallocsizeofLNode;ifH H-next=NULL ;return H ; / 定义一个全局变量 ,记录仓库中商品类总数 int Max=1; /初始化时,库中有一件商品/ 定义一个判定两个字符数组是否相等函数int equalchar a,char b int i
8、=0,j;whileai.=0|bi.=0 名师归纳总结 - - - - - - -第 7 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理仅限学习使用j=0;ifai=bi i+;j=1; else break; return j; / 字符串比较,返回值 1 相等, 0 不相等;/ 查找功能函数定义LinkList SearchLinkList H int k1;LinkList p;char name20;long int num;p=H;printf 请挑选: n1,按商品名称查询 n2,按商品编码查询 n0,退出 n;scanf%ld,&k1 ;whil
9、ek1=1 /按商品名称查询 printf 请输入商品名称 n ;scanf%s,name;whilep ifequalp-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.
10、p printf 查找失败,库中不存在此商品!n;return NULL ; printf 请挑选: n1,按商品名称查询 n2,按商品编码查询 n0,退出 n; scanf%ld,&k1 ; whilek1=2 / 按商品编码查询 printf 请输入商品编码 n;scanf%ld,&num ;whilep ifp-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
11、; else 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_LinkListLinkList H LinkList p,q;int k=1,k2=1,mount=0;long int m;c
12、har name125;int n;float price1=0.0;long int data1,n1;whilek2=1 p=H;printf 请输入商品编码 n ;scanf%ld,&m ;whilep ifp-data.Num=m k=0;break; else p=p-next; ifk=0 / 修改商品数量 printf 仓库中有这种商品 .n 请输入增加商品的数量 n;scanf%d,&mount ;p-data.Mount=p-data.Mount+mount ;printf 商品添加胜利 n ;printf 现在库中有此商品 %d 件n,p-data.Mount ;retur
13、n 1; 名师归纳总结 - - - - - - -第 10 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 else /添加新商品 q=LinkListmallocsizeofLNode;if.q printf 申请空间失败 n ;return 0; else printf 输入商品名称 n ;scanf%s,name1;printf 请一次输入商品数量,单价,入库日期,编码 n 例如 : 200 12000.0 20220609 10001n;scanf%d %f %ld %ld,&n,&price1,&data1,&n1;/ 把新商品信息赋给新
14、结点strcpyp-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; printf1, 连续添加商品 0,退出 n ; scanf%ld,&k2 ; return 1; 名师归纳总结 - - - - - - -第 11 页,共 15 页精选学习资料 - - - -
15、- - - - - 个人资料整理 仅限学习使用 / 删除库中的商品 void Del_LinkListLinkList H LinkList p,q;long int num;int k3=1;whilek3=1 printf 请输入要删除的商品的编号 n ;scanf%ld,&num ;p=H;q=p;p=p-next;whilep ifp-data.Num=num q-next=p-next;freep;printf 删除胜利! n;Max=Max-1 ;printf 此时仓库中有商品类 %d 种n,Max ;break; else q=p;p=p-next; ifp=NULL print
16、f 仓库中没有这种商品 n ; printf1, 连续删除 0,退出n ;scanf%d,&k3 ;名师归纳总结 - - - - - - -第 12 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理仅限学习使用 / 商品出库 ,卖出void SellLinkList H int k4=1;long int num;LinkList p;p=H;whilek4=1 printf 请输入商品编码 n ;scanf%ld,&num ;whilep / 在仓库中查找商品 ifp-data.Num=num break;else p=p-next; ifp / 查到商品 in
17、t m=0;float value=0,Total_value=0;printf 请输入卖出商品的数量 n ;scanf%d,&m ;ifp-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 ; else 名师归纳总结 - - - - - - -第 13
18、页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 printf 仓库中这种商品数量不足 n; else printf 仓库中没有这种商品 n ;printf0, 退出 1,连续卖出 n ;scanf%d,&k4 ; /查找库存不足货物 void FindLinkList H LinkList p;p=H;int max=0;int k5=1;whilek5=1 printf 请输入:商品库存数量是多少算缺货 scanf%d,&max ;whilep /遍历货物全部结点 ifp-data.Mount ;printf 商品%s 编码%ld 库存数量%d
19、缺货,请准时进货n,p-data.Name,p-data.Num,p-data.Mount;p=p-next; if.p printf 仓库中没有缺货的商品 n ;printf1, 重新查看 0,退出 n;scanf%ld,&k5 ; /浏览全部产品信息 void browsingLinkList H LinkList p;名师归纳总结 - - - - - - -第 14 页,共 15 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 int k8=1;p=H;whilep printf 第%d 种商品信息 n,k8 ;printf 商品名称 %s ,商品数量%d
20、 ,商品价格%f ,入库日期%ld ,商品编码%ldn,p-data.Name,p-data.Mount,p-data.Price,p-data.Data,p-data.Num ;k8+;p=p-next; / 按日期搜查商品信息void Search_TimeLinkList H LinkList p;long int time;int i=0;p=H;printf 请输入日期 ;scanf%ld,&time ;whilep/ 遍历查找 ifp-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 页