目录
通讯录管理系统 ........................................................................................ 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 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;i 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&&i 数据结构学习设计报告 } for(j=i;j 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&&i 数据结构学习设计报告 } ; } 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&&i 数据结构学习设计报告 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&&i 13 /*定义文件指针*/ /*定义文件名*/ /*输入文件名*/ 数据结构学习设计报告 system(\"pause\"); return; } fprintf(fp,\"******************************************通讯录******************************************\\n\"); fprintf(fp,\"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\\n\"); fprintf(fp,\"------------------------------------------------------------------------------------------\\n\"); while(i 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务