ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:57.63KB ,
资源ID:26463414      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26463414.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通讯录管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

通讯录管理系统.docx

1、通讯录管理系统 湖南工学院课程设计报告课程设计题目: 通讯录管理系统 学生姓名: 蔡俊鹏班 级: 软件0901专 业: 软件技术指导教师: 戴成秋 2010年1月1日 目 录一、设计需求说明3二、概要设计4三、程序源代码5四、运行结果及截图12五、心得体会14六、附录14一、 设计需求说明1、设计题目及要求:建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;能够提供添加、删除和修改通讯录信息的功能;能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;将通讯录保存在文件中;能够按表格方式输出通讯录信息。2、系统功能需求分析:主要包含一下多种功能:添加:添加通讯录记录

2、显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件二、 概要设计系统功能模块:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三、 源程序代码 #include #include#i

3、nclude FILE *fp; typedef struct char score; /*编号*/ char name10; /*姓名*/ char num15; /*号码*/ char email20; /*邮箱*/ char age8; /*年龄*/ char adds20; /*住址*/ Person; void readtext() system(cls); char cInput; FILE* pReadFile = fopen( C:通讯录.txt, r ); / 打开文件 if ( pReadFile = NULL ) printf(文件不存在,打开失败); while ( (

4、 cInput = fgetc( pReadFile ) ) != EOF ) / 从文件读入一个字符,如果到文件尾部,则返回EOF(-1) printf( %c, cInput ); fclose( pReadFile ); / 关闭文件 Person pe80; int menu_select() int i; char c; do /system(cls); printf(tt *通讯录* n); printf(tt n); printf(tt 1. 添加记录 n); printf(tt 2. 显示记录 n); printf(tt 3. 删除记录 n); printf(tt 4. 查询记

5、录 n); printf(tt 5. 修改记录 n); printf(tt 6. 保存记录 n); printf(tt 7. 查看保存的通讯录 n); printf(tt 0. 退出程序 n); printf(tt请您选择(0-7):); scanf(%d,&i); /c=getchar(); / while(c6); / return(c-0); while(i7); return(i); int Input(Person per,int n) int i=0; char sign,x10; while(sign!=n&sign!=N) printf(t编号:); scanf(t%d,&pe

6、rn+i.score); printf(t姓名:); scanf(t%s,pern+i.name); 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+; system(cls); return(n+i); void Display

7、(Person per,int n) int i; printf(-n); /*格式*/ printf(编号 姓名 年龄 电话号码 通讯地址 电子邮箱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(pe

8、ri.name,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return(n); for(j=i;jn-1;j+) strcpy(perj.num,perj+1.num); strcpy(perj.name,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 Quer

9、y_a_record(Person per,int n) int m; printf(tn请选择查询方式:n); printf(t n); printf(t 1 姓名 n); printf(t 2 电话 n); printf(t 3 地址 n); printf(t 4 返回 n); printf(t n); 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

10、%s,s); while(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!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

11、(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t此人编号: %dn,peri.score); printf(t此人姓名: %sn,peri.name); 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

12、.adds,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t此人编号: %dn,peri.score); printf(t此人姓名: %sn,peri.name); 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

13、(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t编号:); scanf(t%d,&peri.score); printf(t姓名:); scanf(t%s,peri.name); 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

14、修改成功!);void WritetoText(Person per,int n) int i=0; if(fp=fopen(C:通讯录.txt,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.name,peri.age,peri.num,peri.adds

15、,peri.email); i+; fprintf(fp,-n); fprintf(fp,*共有%d条记录*n,n); fclose(fp); /*关闭文件*/ printf(保存成功!n); printf(文件保存在C盘目录下“通讯录.TXT”); 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); bre

16、ak; 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保存

17、功能n); WritetoText(pe,n); /*保存数据*/ printf(t); system(pause); system(cls); break; case 0: printf(ntt谢谢使用,再见!n); /*结束程序*/ printf(ntt); system(pause); exit(0); case 7: system(cls); readtext(); break; 四、 运行结果及截图1.显示主菜单界面2.添加界面3.显示界面4.删除界面5.查询界面6.修改界面修改后,通讯记录的显示记录:7.保存界面8.查看保存的通讯录五、 心得体会写通讯录对于我来说是个巨大的挑战 充分把所学的东西和实际生活结合起来。运用了结构体数组 特别是用了C语言的文件,这点尤为重要,因为上个学期的C语言老师任老师并没有讲“文件”这个章节,我自己搜资料试着把文件写出来 所谓的数据库就是在文件的基础上发展出来的 但是我学的不好 我的文件系统有缺陷,只能添加和读取,不能够更新 因为每次启动程序变量会置零,其实我可以用一个文件把下标记住,每次都调用它 但是我觉得太麻烦 而且我也没有什么时间 我以后会继续努力解决这个问题的 另外写通讯录对自己逻辑上的编排起到了重要的影响 对我的后讯学习很有帮助!六、 参考文献电子工业出版社 朱站立版 数据结构清华大学出版社 谭浩强版C程序设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1