数据结构物流信息管理系统

上传人:M****1 文档编号:490353829 上传时间:2023-10-11 格式:DOCX 页数:27 大小:66.46KB
返回 下载 相关 举报
数据结构物流信息管理系统_第1页
第1页 / 共27页
数据结构物流信息管理系统_第2页
第2页 / 共27页
数据结构物流信息管理系统_第3页
第3页 / 共27页
数据结构物流信息管理系统_第4页
第4页 / 共27页
数据结构物流信息管理系统_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据结构物流信息管理系统》由会员分享,可在线阅读,更多相关《数据结构物流信息管理系统(27页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计报告题目:物流信息管理系统专业 :计算机科学与技术班级 :姓名 :学号:指导教师:成绩:摘要11设计容及要求11.1家描述11.2基本要求12详细设计12.1概要设计12.2功能模块详细设计12.3程序流程图43源代码.54程序结果95总结.126参考文献12摘要物流信息管理系统是利用单链表实现信息管理,进而掌握C语言中的结构体, 链表,指针,函数(系统函数,自定义函数)等C语言知识。本文通过利用模块化程序设计恩想,使用单链表和结构体等编写出的创建, 删除,查询等功能的物流信息管理系统。通过完成这个程序设计让我们熟悉并掌 握c语言中使用结构体,单链表,指针,函数,和模块化设计恩

2、想。关键词 结构体,链表,指针,函数1设计容及要求1.1容描述对客户的基本信息进行存储,利用取货号来查询顾客信息,核对信息后可取 货。1.2基本要求1. 采用一定的存储结构进行客户信息的存储;2. 对客户的信息可以进行修改、删除、查询;2详细设计2.1概要设计本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里而用3个字符串分别存储着用户的客户号、姓名和。然后将数组写入文件,查询时读 取文件,提取相应信息。2.2功能模块详细设计本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据 域分别定义了取货人的取货号、身份证、姓名、,其中身份证用了字符型数组进 行定义,然后定义了

3、客户取货链表,每添加一个取货人,先分配存,再添加取货 人的信息,之后将链表中最后一个指针指向该新的取货人,删除时,需先找到该 取货人前面的取货人,直接将其指针指向删除取货人的下一个取货人,修改信息 时,先找到该去人,选择修改的容,再进行修改。void create(Linklist &h)Linklist s,t;int j = 1;char x;h=(Listnode *)malloc(sizeof(Listnode);h-next=NULL;t=h;while(j)s=(Listnode*)malloc(sizeof(Listnode);printf(顾客取货号为dn”,i);s-cust

4、omer.m = i;printf(请输入身份证:”);scanf(%c”,&x);scanf(%s”,s-customer.Identity);printf(请输入姓名:”);scanf(%c”,&x);scanf(%s”,s-customer.Name);printf(n);printf(请输入联系:”);scanf(%c”,&x);scanf(%s”,s-customer.Tel);printf(n);s-next=NULL;t-next=s;t=s;printf(全部输完,请输入0,否则输入1.n);scanf(%d”,&j);printf(n);i+;)t-next=NULL;)该功

5、能主要实现顾客信息的存储,s作为数据存储节点,把顾客姓名,身份证, 等信息存储进去。i作为游标,定位该节点位置便数据查找。void change(Linklist&h,int m)int a,j = 1;float n;Linklist t=h;printf(Change customers Identity:1;Name:2;Tel:3; n);scanf(%d”,&a);printf(n);while(jnext! = NULL)t=t-next;j+;)printf(OK!n);switch(a)case 1:printf(Please enter the Identity!);scan

6、f(%s”,t-customer.Identity);break;case 2:printf(Please enter the Name!);scanf(%s,t-customer.Name);break;case 3:printf(Please enter the Tel!n);scanf(%f,&n);printf(修改成功!n);)该功能主要实现顾客信息的修改,输入所需要修改的选项,然后可以根据选项修改所对应的信息,然后修改完成。void Listdelete(Linklist&h,int m)(int j = 1;Linklist q=h,t;if(m = = 1)(t=h;h = h

7、-next;else(while(jnext! = NULL)(q=q-next;j+;if(q-next! = NULL&j = =m-1)(t=q-next;q-next=t-next;elseprintf(位置参数不正确!n);i-;free(t);printf(删除成功!n);该功能主要实现顾客信息的删除,通过删除节点来删除节点中说包含的信息,删除节点既可实现目标。void search(Linklist &h,int m)(int n=1,j;Linklist p=h-next;while(nnext! = NULL)p=p-next;n+;)printf(消费号为dn”,m);pr

8、intf(身份证为 sn”,p-customer.Identity);printf(消费者姓名为sn”,p-customer.Name);printf(为sn”,p-customer.Tel);)该功能主要实现顾客信息的查找,通过查找节点所对应的游标位置既可找到 该节点,查找该节点可调出该节点所存储的信息,达到查找目的。2.3程序流程图物流信息管理系统因具备以下功能有流程图表示,如下图1)主函数减程图 swith(j)case 1:create(h);break;调用创建函数case 2:printf(请输入修改的位置:);调用修改函数scanf(%d”,&j);change(h,j);cas

9、e 3:printf(请输入删除的位置:);scanf(%d”,&j);Listdelete(h,j);调用删除函数break;case 4:printf(请输入顾客取货号:);scanf(%d”,&j);search(h,j);调用查找函数break;default:printf(输入错误。n);)Creat:该函数是用来录入顾客信息,使得用户可以输入姓名、身份证这三种取货信息。Change:该函数是用来修改顾客信息,使用户可以修改姓名、身份证这三种取货信息。Listdelete:该函数用来删除链表中的顾客信息。Search:该函数是用来查找顾客所属的取货信息。3源代码#include#in

10、clude #include#include typedef struct Datatype int m;char Identity18;char Name20;char Tel18;Datatype;链表结点的定义typedef struct Listnode Datatype customer;struct Listnode *next;Listnode,*Linklist;int i = 1;/顾客取货号创建链表void create(Linklist &h)Linklist s,t;int j = 1;char x;h=(Listnode *)malloc(sizeof(Listnod

11、e);h-next=NULL;t=h;while(j)(s=(Listnode*)malloc(sizeof(Listnode);printf(顾客取货号为dn”,i);s-customer.m = i;printf(请输入身份证:”);scanf(%c”,&x);scanf(%s”,s-customer.Identity);printf(n);printf(请输入姓名:”);scanf(%c”,&x);scanf(%s”,s-customer.Name);printf(n);printf(请输入联系:”);scanf(%c”,&x);scanf(%s”,s-customer.Tel);pri

12、ntf(n);s-next=NULL;t-next=s;t=s;printf(全部输完,请输入0,否则输入1.n);scanf(%d”,&j);printf(n);i+;)t-next=NULL;)修改void change(Linklist&h,int m)int a,j = 1;float n;Linklist t=h;printf(Change customers Identity:1;Name:2;Tel:3; n);scanf(%d”,&a);printf(n);while(jnext! = NULL)t=t-next;j+;)printf(OK!n);switch(a)case 1

13、:printf(Please enter the Identity!);scanf(%s”,t-customer.Identity);break;case 2:printf(Please enter the Name!);scanf(%s,t-customer.Name);break;case 3:printf(Please enter the Tel!n);scanf(%f,&n);break;)printf(修改成功!n);)删除void Listdelete(Linklist&h,int m)int j = 1;Linklist q = h,t;if(m = = 1)t=h;h = h-next;)elsewhile(jnext! = NULL)q=q-next;j+;)if(q-next! = NULL&j=m-1)t=q-next;q-next=t-next;)elseprintf(位置参数不正确!n);)i-;free(t);printf(删除成功!n);查找void search(Linklist &h,int m)(int n=1,j;Linkli

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

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号