版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JINGCHU UNIVERSITY OF TECHNOLOGY 课程设计报告 课程名称:通讯录管理系统 专 业 : 计算机科学与技术 班 级 : 11级计算机科学与技术班 学生姓名 : 李 孝 东 学 号 : 37 指导教师 : 任 正 云 提交日期 : 2012.06.15 摘要:纸质的通讯录已经不能满足我们的要求,更新麻烦,查询困难等缺点是纸质通讯录所不能克服的。在此情况下,迫切需要一个电子版的通讯录来满足我们的需求。这次课程设计的通讯录采用了二叉搜索树这一数据结构,并完成了添加、查找、删除、保存等功能。在TC2.0平台下实现了人机交互界面上的图形化设计,其中菜单的显示为逐桢动画,在等
2、待用户按键输入时设计了友好的系统。关键字:数组,结构体,指针,函数,文件 summary:papers address book cant meet our requirements, update the trouble, inquires the difficulty is the disadvantages such as paper address book cant overcome. In this case, the urgent need to a version of the address book to meet our needs. The course design
3、of the address book adopted binary search trees the data structure, and completed add, delete, save search, etc. Function. In TC2.0 the workbench realized on the man-machine interface graphical design, including the menu that by standard for animation, waiting for the user input buttons when the fri
4、endly system design.Key words:arrays, structures, pointer, function, file 目录一、设计题目及要求1二、概要设计2三、详细设计23.1 通讯录:23.2 工作流程图:4四、源程序代码8五、用户手册16六、课程设计总结和心得体会16七、参考文献16一、设计题目及要求:建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;能够提供添加、删除和修改通讯录信息的功能;能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;将通讯录保存在文件中;能够按表格方式输出通讯录信息。系统功能需求分析:主要包含一下多种功
5、能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件本文档,极大的方便了用户的使用。 二、概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录。删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。查询:可以选择用姓名、电话、地址三种方式查询。修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。保存:输入文件名(带后缀名)后,即可将通讯录信息保
6、存到文件。运行所需环境:win7及以下各版本windows,visual C+6.0。三、详细设计3.1 通讯录:typedef struct char score; /*编号*/char name10; /*姓名*/ char num15; /*号码*/ char email20;/*邮箱*/char age8;/*年龄*/char adds20;/*住址*/Person;void main() /*主函数*/ int n=0; for(;) switch(menu_select() case 1: printf(nt添加记录到通讯录n); /*添加记录*/ n=Input(pe,n); b
7、reak; case 2: printf(nttt 通讯录记录表n); /*显示记录*/ Display(pe,n); break;case 3: printf(nt从通讯录中删除记录n); n=Delete_a_record(pe,n); /*删除记录*/ printf(t); system(pause); break; case 4: printf(nt在通讯录中查找记录n); Query_a_record(pe,n); /*查找记录*/ printf(t); system(pause); break;case 5: printf(nt修改通讯录中的记录n); Change(pe,n);
8、/*修改数据*/ printf(t); system(pause); break; case 6: printf(nt保存功能n); WritetoText(pe,n); /*保存数据*/ printf(t); system(pause); break; case 0: printf(ntt谢谢使用,再见!n); /*结束程序*/ printf(ntt); system(pause); exit(0); 3.2 工作流程图:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录先选择查询方式,以姓名查询方式为例 修改:修改通讯录记录四、源程序代码#include #i
9、nclude#include typedef struct char score; /*编号*/char name10; /*姓名*/ char num15; /*号码*/ char email20;/*邮箱*/char age8;/*年龄*/char adds20;/*住址*/Person; Person pe80; int menu_select() char c; do system(cls); printf(tt *通讯录* n); printf(ttn); printf(tt 1. 添加记录 n); printf(tt 2. 显示记录 n); printf(tt 3. 删除记录 n)
10、; printf(tt 4. 查询记录 n); printf(tt 5. 修改记录 n); printf(tt 6. 保存记录 n);printf(tt 0. 退出程序 n); printf(ttn); printf(tt请您选择(0-6):); c=getchar(); while(c6); return(c-0); int Input(Person per,int n) int i=0; char sign,x10; while(sign!=n&sign!=N) printf(t编号:); scanf(t%d,&pern+i.score); printf(t姓名:); scanf(t%s,
11、pern+); printf(t年龄:); scanf(t%s,pern+i.age);printf(t电话号码:); scanf(t%s,pern+i.num); printf(t通讯住址:); scanf(t%s,pern+i.adds);printf(t电子邮箱:);scanf(t%s,pern+i.email);gets(x); printf(nt是否继续添加?(Y/N); scanf(t%c,&sign); i+; return(n+i); void Display(Person per,int n) int i; printf(-n); /*格式*/ printf(编号
12、 姓名 年龄 电话号码 通讯地址 电子邮箱n); printf(-n); for(i=1;i1&i%10=0) printf(t-n); printf(t); system(pause); printf(t-n); printf(-n);system(pause); int Delete_a_record(Person per,int n) char s20; int i=0,j; printf(t请输入想删除记录中的名字:); scanf(%s,s); while(strcmp(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); retu
13、rn(n); for(j=i;jn-1;j+) strcpy(perj.num,perj+1.num); strcpy(,perj+1.name); strcpy(perj.age,perj+1.age);strcpy(perj.adds,perj+1.adds);strcpy(perj.email,perj+1.email);perj.score=perj+1.score; printf(ttt已经成功删除!n); return(n-1); void Query_a_record(Person per,int n) int m;printf(tn请选择查询方式:n); pr
14、intf(tn); printf(t1-姓名 n); printf(t2-电话 n); printf(t3-地址 n); printf(t4-返回 n); printf(tn); printf(请选择:); scanf(%d,&m); while(m!=1&m!=2&m!=3&m!=4) printf(输入错误,请重新选择:);scanf(%d,&m);if(m=1)char s20; int i=0; printf(t请输入想查询的姓名:); scanf(t%s,s); while(strcmp(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人
15、!n); return; printf(t此人编号: %dn,peri.score);printf(t此人年龄: %sn,peri.age); printf(t电话号码: %sn,peri.num); printf(t通讯地址: %sn,peri.adds);printf(t电子邮箱: %sn,peri.email); ;if(m=2)char s20; int i=0; printf(t请输入想查询的电话:); scanf(t%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; prin
16、tf(t此人编号: %dn,peri.score);printf(t此人姓名: %sn,);printf(t此人年龄: %sn,peri.age); printf(t通讯地址: %sn,peri.adds);printf(t电子邮箱: %sn,peri.email); ;if(m=3)char s20; int i=0; printf(t请输入想查询的地址:); scanf(t%s,s); while(strcmp(peri.adds,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t此人编号: %dn,pe
17、ri.score);printf(t此人姓名: %sn,);printf(t此人年龄: %sn,peri.age); printf(t电话号码: %sn,peri.num); printf(t电子邮箱: %sn,peri.email); ;void Change(Person per,int n) char s20; int i=0; printf(t请输入想修改的记录中的名字:); scanf(%s,s); while(strcmp(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t编号
18、:); scanf(t%d,&peri.score); printf(t姓名:); scanf(t%s,); printf(t年龄:); scanf(t%s,peri.age);printf(t电话号码:); scanf(t%s,peri.num); printf(t通讯住址:); scanf(t%s,peri.adds);printf(t电子邮箱:);scanf(t%s,peri.email);printf(t修改成功!);void WritetoText(Person per,int n) int i=0; FILE *fp; /*定义文件指针*/ char filena
19、me20; /*定义文件名*/ printf(t保存到文件n); /*输入文件名*/ printf(t请输入所保存的文件名:); scanf(t%s,filename); if(fp=fopen(filename,w)=NULL) printf(t无法打开文件n); system(pause); return; fprintf(fp,*通讯录*n);fprintf(fp,编号 姓名 年龄 电话号码 通讯地址 电子邮箱n);fprintf(fp,-n);while(in) fprintf(fp,%-3dt%-6st%-3st%-13st%-20st%-20sn,peri.score,peri.n
20、ame,peri.age,peri.num,peri.adds,peri.email); i+; fprintf(fp,-n);fprintf(fp,*共有%d条记录*n,n); fclose(fp); /*关闭文件*/ printf(保存成功!n); void main() /*主函数*/ int n=0; for(;) switch(menu_select() case 1: printf(nt添加记录到通讯录n); /*添加记录*/ n=Input(pe,n); break; case 2: printf(nttt 通讯录记录表n); /*显示记录*/ Display(pe,n); br
21、eak;case 3: printf(nt从通讯录中删除记录n); n=Delete_a_record(pe,n); /*删除记录*/ printf(t); system(pause); break; case 4: printf(nt在通讯录中查找记录n); Query_a_record(pe,n); /*查找记录*/ printf(t); system(pause); break;case 5: printf(nt修改通讯录中的记录n); Change(pe,n); /*修改数据*/ printf(t); system(pause); break; case 6: printf(nt保存功能n); WritetoText(pe,n); /*保存数据*/ printf(t); system(pause); break; case 0: printf(ntt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《施工人员培训》课件
- 保洁合同补充协议书范本
- 班组长消防安全知识培训
- 《外贸单证资料》课件
- 《科学小品文的学习》课件
- 2024年度地铁食堂承包经营合同
- 委托书合同范文
- 2024年度工程内部承包违约责任处理协议2篇
- 2024年度高速公路车辆保险合同:全路网
- 货车合伙经营协议书
- 精益生产成熟度评估表
- 化工仪表基础培训调节阀
- 视觉设计行业SWOT分析报告-第2篇
- 伪装隐身技术
- 【上教版九年级化学上册】《化学反应中的质量关系》示范公开课教案
- 富宁县方鑫黄金矿业有限责任公司毛姐山金矿矿山地质环境保护与土地复垦方案
- 1000个好听的男孩英文名字大全
- 《中小学美术教学论》第五章 中小学美术教学的过程
- (57)-25.2.1五味子与五倍子
- 企业文化、廉政考试
- 生态文旅休闲片区控制性详细规划
评论
0/150
提交评论