ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:143.82KB ,
资源ID:19040861      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19040861.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构仓库管理课程设计Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构仓库管理课程设计Word下载.docx

1、一程序设计题目:仓库管理系统二程序设计目标:帮助学生熟练掌握线性表的基本操作在俩种存储结构上的实现,其中以双向链表链表的操作和应用为重点内容。三问题描述:建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除货物以及建立新的仓库存储系统。四 .需求分析:1.创建双向链表,设计仓库管理系统。2.向链表中插入数据,输入数据 3.删除链表中的数据 4.查找链表中的内容 5.销毁双向链表,释放内存空间;6.输出表格五.概要设计:;可以采用双向链表的存储结构,如可定义如下的存储结构:typedef struct dnode /*定义双向链表结构体*/ int number; /*商

2、品编号*/ char namemax; /*商品名称*/ int counter; /*商品数量*/ struct dnode *prior,*next; /*定义两指针,分别指向其前驱和后继*/ dlnode;六详细设计:总体操作步骤:(1)分配存储空间,初始化表;(2) 对表进行插入、删除操作;(3)完成操作。1.初始化表 (1)申请内存(2)数据置空(3)置表头,完成操作2.仓库管理系统和仓库里链表的建立3. 插入数据 (1)申请内存(2)置数据(3)将结点插入,完成操作4.数据查询(仓库链表的查询)5. 删除数据(1)判断相应结点是否存在(2)从链中取出该结点(3)将结点释放,完成操作

3、6.新的仓库管理系统,仓库链表的输出:7.测试分析白盒:查看代码完整性 黑盒:测试是否可以正确的创建,删除,插入,打印,查找等操作8.使用说明插入删除语句:删除1条内容插入语句:插入一条信息自动打印:打印内容9.测试数据:测试内容测试结果删除一条数据正确插入一条数据正常打印数据正常查找内容 程序源代码 #include #include string.h#include stdlib.htypedef struct /仓库管理结点类型 char NO10; /商品编号 char name30; /商品名称 char count5; /商品数量 DataType;typedef struct n

4、ode /结点类型定义 DataType data; /结点数据域 struct node *next; /结点指针域 ListNode;typedef ListNode *LinkList;LinkList head;ListNode *p;LinkList CreateList(void);void InsertNode(LinkList head,ListNode *p);ListNode *ListFind(LinkList head);void DelNode(LinkList head);void PrintList(LinkList head);/*尾插法建立带头结点的仓库管理链

5、表算法*/LinkList CreateList(void) LinkList head=(ListNode *)malloc(sizeof(ListNode); /申请头结点 ListNode *p,*rear; char flag=y /int flag=0; /结束标志置0 rear=head; /尾指针初始指向头结点 while (flag=) p=(ListNode *)malloc(sizeof(ListNode); /申新结点 printf( 商品编号(10) 商品名称(30) 商品数量(5) n);-nn添加商品编号:n cinp-data.NO;n添加商品名称:data.na

6、me;n添加商品数量:data.count; rear-next=p; /新结点连接到尾结点之后 rear=p; /尾指针指向新结点继续添加记录?(y/n):flag; rear-next=NULL; /终端结点指针置空 return head; /返回链表头指针/*在仓库管理链表head中插入结点*/void InsertNode(LinkList head,ListNode *p) ListNode *p1,*p2; p1=head; p2=p1-next; while(p2!=NULL & strcmp(p2-data.NO,p-data.NO) /p2指向表的下一个结点 p1- /插入

7、p所指向的结点 p-next=p2; /连接表中剩余的结点/*有序仓库管理链表的查找 */ListNode *ListFind(LinkList head) ListNode *p; char num10; char name9; char pp; printf(=n a. 按商品编号查询 n b. 按商品名称查询 n 请 选 择: p=head- cinpp; getchar(); if (pp=a|pp=A) 请输入要查找的商品编号:num; while (p&strcmp(p-data.NO,num) if (p=NULL)|strcmp(p-data.NO,num)0) p=NULL;

8、 /没有查到要查找的通讯信息 elsebB 请输入要查找的商品名称:name; while(p&data.name,name)!=0) p=p- return p;/*仓库管理链表上的结点删除*/void DelNode(LinkList head) char jx; ListNode *p,*q; p=ListFind(head); /调用查找函数 if (p=NULL) 没有查到要删除的商品信息! return; if(p!=NULL) printf(真的要删除该商品吗?jx; if (jx=|jx=Y q=head; while (q!=NULL)&(q-next!=p) q=q- q-

9、next=p- /删除结点 free(p); /释放被删结点空间删除成功!/*仓库管理链表的输出函数 */void PrintList(LinkList head) 商品编号 商品名称 商品数量 n-n while (p!=NULL)%15s%20s%23sn,p-data.name,p-data.count);-n p=p- /后移一个结点void main() int choice,j=1; char Choice; while(j)nnnnntttt仓库管理系统nnttt*nttt* 1- 仓库管理链表建立 *nttt* 2- 仓库管理链表插入 *nttt* 3- 仓库管理链表查询 *n

10、ttt* 4- 仓库管理链表删除 *nttt* 5- 仓库管理链表输出 *nttt* 0- 退出仓库管理系统 *nttt请选择菜单号(0-5):choice; getchar(); switch(choice) case 1: printf(*n* 仓库管理链表建立 *n head=CreateList( ); flag1=1; system(cls break; case 2: if(flag1!=1) printf(请先建立表! Sleep(1500);* 仓库管理链表插入 *n商品编号(10) 商品名称(30) 商品数量n* n p=(ListNode *)malloc(sizeof(L

11、istNode); /申请新结点 cin InsertNode(head,p); case 3: else printf(*n* 仓库管理链表查询 *n p=ListFind(head); if (p!=NULL) printf(商品编号 商品名称 商品数量 n-n%s,%s,%sn-n else printf(没有查到要查询的商品信息! case 4: * 仓库管理链表删除 *n DelNode(head); case 5:*n* 仓库管理链表输出 *n PrintList(head); case 0:j=0;system(break; default:printf(ttn 输入有错,请重新输入!Sleep(1500); 八课程设计总结:通过该课程设计,熟练掌握了单向链表的基本操作。把学过的通过课程设计课把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机中数据存储的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上学会了数据以单链表形式存储的建立,删除,浏览以及修改,如何通过使用库函数实现一些操作认识的更加深刻。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。 在这次课程设计中,提高了实践动手能力和程序开发能力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1