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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

【最新资料,WORD文档,可编辑修改】

目录

摘要 (1)

1设计内容及要求 (1)

1.1内容描述 (1)

1.2基本要求 (1)

2详细设计 (1)

2.1概要设计 (1)

2.2功能模块详细设计 (1)

2.3程序流程图 (4)

3源代码 (5)

4程序结果 (9)

5总结 (12)

6参考文献 (12)

摘要

物流信息管理系统是利用单链表实现信息管理,进而掌握C语言中的结构体,链表,指针,函数(系统函数,自定义函数)等C语言知识。

本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的创建,删除,查询等功能的物流信息管理系统。通过完成这个程序设计让我们熟悉并掌握c语言中使用结构体,单链表,指针,函数,和模块化设计思想。

关键词结构体,链表,指针,函数

1设计内容及要求

1.1内容描述

对客户的基本信息进行存储,利用取货号来查询顾客信息,核对信息后方可取货。

1.2基本要求

1.采用一定的存储结构进行客户信息的存储;

2.对客户的信息可以进行修改、删除、查询;

2详细设计

2.1概要设计

本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和电话号码。然后将数组写入文件,查询时读取文件,提取相应信息。

2.2功能模块详细设计

本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据域分别定义了取货人的取货号、身份证、姓名、电话号码,其中身份证用了字符型数组进行定义,然后定义了客户取货链表,每添加一个取货人,先分配内存,再添加取货人的信息,之后将链表中最后一个指针指向该新的取货人,删除时,需先找到该取货人前面的取货人,直接将其指针指向删除取货人的下一个取货人,修改信息时,先找到该去人,选择修改的内容,再进行修改。

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("顾客取货号为%d\n",i);

s->customer.m=i;

printf("请输入身份证号码:");

scanf("%c",&x);

scanf("%s",s->customer.Identity);

printf("\n");

printf("请输入姓名:");

scanf("%c",&x);

scanf("%s",s->);

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;

}

该功能主要实现顾客信息的存储,s作为数据存储节点,把顾客姓名,身份证,电话号码等信息存储进去。i作为游标,定位该节点位置方便数据查找。

void change(Linklist&h,int m)

{

int a,j=1;

float n;

Linklist t=h;

printf("Change customer's 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!");

scanf("%s",t->customer.Identity);

break;

case 2:printf("Please enter the Name!");

scanf("%s",t->);

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;

}

else

{

while(jnext!=NULL)

{

q=q->next;

j++;

}

if(q->next!=NULL&&j==m-1)

{

t=q->next;

q->next=t->next;

}

else

printf("位置参数不正确!\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++;

}

相关文档
最新文档