1、电话簿管理系统-课程设计报告 第 1 页 共 17 页 一、一、 功能描述功能描述 此电话簿管理系统主要利用线性表实现,由如下六个功能模块实现 1、输入模块。主要完成将电话记录存入线性表的工作。 2、输出模块。主要完成将所有记录输出显示的功能。 3、建表模块。主要完成建立线性表,开辟空间的功能。 4、插入模块。主要完成插入记录的功能。 5、查询功能。主要完成查询记录的功能。 6、删除功能。主要完成从线性表中删除记录的功能。 二、二、 数据结构设计数据结构设计 电话簿信息结构体 struct telbook /定义一个电话簿结构体,用来存储电话簿信息/ /定义各结构体成员的数据类型/ char
2、tel20; /定义电话号码/ char name20; /定义机主姓名/ char sex10; /定义机主性别/ char addr50; /定义所在地址/ ; 三、三、 函数功能描述函数功能描述 1、建表: 函数原型: struct telbook *initsl(int m) /建立线性表/ struct telbook *v; v=(struct telbook*)malloc(m*sizeof(struct telbook); /分配此结构体一定的空间, 并 初始化/ return v; 参数含义:m线性表的空间大小 V指向线性表表头的指针 电话簿管理 系统 输入记录模 块 输出记
3、录模 块 建表模块 从文件读入 从键盘输入 插入模块 查询模块 删除模块 电话簿管理系统-课程设计报告 第 2 页 共 17 页 2、Input1( ) 函数原型: void input1(struct telbook *v,int m,int n) /输入函数 1,由键盘输入 int i; if(nm) printf(“n输入错误,最多只能输入%d 个相关信息!“,m); /线性表溢出 else for(i=0;in;i+) /可以多次输入 printf(“n你即将输入第%d 个信息n: “,i+1); printf(“n姓名,性别,电话,地址:“); scanf(“%s %s %s %s“
4、,vi.name,vi.sex,vi.tel,vi.addr); getchar(); /输入相关信息 printf(“n OK!“); 参数含义:m线性表的空间大小 v指向线性表表头的指针 n线性表的长度 i电话簿信息在表中的位置 3、Input2() 函数原型: void input2(struct telbook *v,int m,int n) /输入函数 2,由文件导入 int i; FILE *fp; /定义一个指向文件的指针 if(fp=fopen(“telbook.txt“,“r“)=NULL) printf(“n打开文件失败!“); exit(0); for(i=0;in;i+) fscanf(fp,“%s%s%s%s“,vi.name,vi.sex,vi.tel,vi.addr); fprintf(fp,