您好,欢迎来到星星旅游。
搜索
您的当前位置:首页数据结构课程设计报告通讯录管理系统

数据结构课程设计报告通讯录管理系统

来源:星星旅游
数据结构学习设计报告

目录

通讯录管理系统 ........................................................................................ 2 一、题目要求............................................................................................. 2 二、 应用程序功能 .......................................................................... 2 三、 主要算法模块描述 .................................................................. 5 四、 源程序代码 .............................................................................. 8

1

数据结构学习设计报告

通讯录管理系统

一、题目要求

通讯录一般包括通讯者的编号、姓名、性别、电话及地址等信息,设计一个通讯录要求实现通讯者的插入、查询、删除、更新、排序操作。 struct node

{

char num[5]; //编号

char name[8]; //姓名 char sex; //性别 char tel[8]; //电话

char address[100]; //地址 };

二、 应用程序功能

明确用户的需求,如操作界面需求,系统功能需求,数据的具体流程等。 主界面

添加界面:

2

数据结构学习设计报告

显示界面:

删除界面:

3

数据结构学习设计报告

查找界面

修改界面:

4

数据结构学习设计报告

三、 主要算法模块描述

工作流程图:

①添加:添加通讯录记录

5

数据结构学习设计报告

②显示:显示通讯录记录 ③删除:删除通讯录记录

6

④查询:查询通讯录记录

先选择查询方式,以姓名查询方式为例

数据结构学习设计报告

7

数据结构学习设计报告

⑤修改:修改通讯录记录

四、 源程序代码

#include #include #include

typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person;

Person pe[80];

8

数据结构学习设计报告

int menu_select() { char c; do{ system(\"cls\"); printf(\"\\ **************通讯录**************\\n\"); printf(\"\\ ┌───────┐\\n\"); printf(\"\\ │ 1. 添加记录 │\\n\"); printf(\"\\ │ 2. 显示记录 │\\n\"); printf(\"\\ │ 3. 删除记录 │\\n\"); printf(\"\\ │ 4. 查询记录 │\\n\"); printf(\"\\ │ 5. 修改记录 │\\n\"); printf(\"\\ │ 6. 保存记录 │\\n\"); printf(\"\\ │ 0. 退出程序 │\\n\"); printf(\"\\ └───────┘\\n\"); printf(\"\\ -----------------------------------\\n\"); printf(\"\\ 作者 -----马海亮\\n\"); printf(\"\\ -----------------------------------\\n\"); printf(\"\\请您选择(0-6):\"); c=getchar(); }while(c<'0'||c>'6'); return(c-'0'); }

int Input(Person per[],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf(\"\编号:\"); scanf(\"\%d\ printf(\"\姓名:\"); scanf(\"\%s\ printf(\"\年龄:\"); scanf(\"\%s\ printf(\"\电话号码:\"); scanf(\"\%s\ printf(\"\通讯住址:\"); scanf(\"\%s\ printf(\"\电子邮箱:\"); scanf(\"\%s\ gets(x);

9

数据结构学习设计报告

printf(\"\\n\是否继续添加?(Y/N)\"); scanf(\"\%c\ i++; } return(n+i); }

void Display(Person per[],int n) { int i; printf(\"----------------------------------------------------------------------\\n\"); /*格式*/ printf(\"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\\n\"); printf(\"----------------------------------------------------------------------\\n\"); for(i=1;i1&&i%10==0) { printf(\"\-----------------------------------\\n\"); printf(\"\\"); system(\"pause\"); printf(\"\-----------------------------------\\n\"); } } printf(\"----------------------------------------------------------------------\\n\"); system(\"pause\"); }

int Delete_a_record(Person per[],int n) { char s[20]; int i=0,j; printf(\"\请输入想删除记录中的名字:\"); scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&i10

数据结构学习设计报告

} for(j=i;jvoid Query_a_record(Person per[],int n) { int m; printf(\"\\\n请选择查询方式:\\n\"); printf(\"\┌──────┐\\n\"); printf(\"\│1------姓名 │\\n\"); printf(\"\│2------电话 │\\n\"); printf(\"\│3------地址 │\\n\"); printf(\"\│4------返回 │\\n\"); printf(\"\└──────┘\\n\"); printf(\"请选择:\"); scanf(\"%d\

while(m!=1&&m!=2&&m!=3&&m!=4) { printf(\"输入错误,请重新选择:\"); scanf(\"%d\ } if(m==1) { char s[20]; int i=0; printf(\"\请输入想查询的姓名:\"); scanf(\"\%s\ while(strcmp(per[i].name,s)!=0&&i11

数据结构学习设计报告

} ;

}

printf(\"\此人编号: %d\\n\printf(\"\此人年龄: %s\\n\ printf(\"\电话号码: %s\\n\ printf(\"\通讯地址: %s\\n\printf(\"\电子邮箱: %s\\n\

if(m==2) { char s[20]; int i=0; printf(\"\请输入想查询的电话:\"); scanf(\"\%s\ while(strcmp(per[i].num,s)!=0&&i}

printf(\"\此人编号: %d\\n\printf(\"\此人姓名: %s\\n\printf(\"\此人年龄: %s\\n\ printf(\"\通讯地址: %s\\n\printf(\"\电子邮箱: %s\\n\

if(m==3) { char s[20]; int i=0; printf(\"\请输入想查询的地址:\"); scanf(\"\%s\ while(strcmp(per[i].adds,s)!=0&&i12

数据结构学习设计报告

printf(\"\电子邮箱: %s\\n\ } ; }

void Change(Person per[],int n) { char s[20]; int i=0; printf(\"\请输入想修改的记录中的名字:\"); scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&ivoid WritetoText(Person per[],int n) { int i=0; FILE *fp; char filename[20]; printf(\"\保存到文件\\n\"); printf(\"\请输入所保存的文件名:\"); scanf(\"\%s\ if((fp=fopen(filename,\"w\"))==NULL) { printf(\"\无法打开文件\\n\");

13

/*定义文件指针*/ /*定义文件名*/ /*输入文件名*/ 数据结构学习设计报告

system(\"pause\"); return; } fprintf(fp,\"******************************************通讯录******************************************\\n\"); fprintf(fp,\"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\\n\"); fprintf(fp,\"------------------------------------------------------------------------------------------\\n\"); while(ivoid main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) { case 1: printf(\"\\n\添加记录到通讯录\\n\"); /*添加记录*/ n=Input(pe,n); break; case 2: printf(\"\\n\\\ 通讯录记录表\\n\"); /*显示记录*/ Display(pe,n); break; case 3: printf(\"\\n\从通讯录中删除记录\\n\"); n=Delete_a_record(pe,n); /*删除记录*/ printf(\"\\"); system(\"pause\");

14

数据结构学习设计报告

}

}

break;

case 4:

printf(\"\\n\在通讯录中查找记录\\n\"); Query_a_record(pe,n); printf(\"\\");

system(\"pause\"); break;

case 5:

printf(\"\\n\修改通讯录中的记录\\n\"); Change(pe,n); printf(\"\\");

system(\"pause\"); break;

case 6:

printf(\"\\n\保存功能\\n\"); WritetoText(pe,n); printf(\"\\");

system(\"pause\"); break;

/*查找记录*/

/*修改数据*/

/*保存数据*/

case 0:

printf(\"\\n\\谢谢使用,再见!\\n\"); /*结束程序*/ printf(\"\\n\\\"); system(\"pause\"); exit(0); }

五、总结和感受

这个实验做的有些着急。所以又很多东西都没有写,就只有截图和那个流程图,如果还有时间的话还会增加一些说明的。

这个实验的感受就是成就感吧,虽然是不太好看,不过自己做了很多,心里还是比较踏实,有感觉,在以后的学习中我会更加努力的,注重动手实践。

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务