C语言程序设计课程设计通讯录管理系统.doc

上传人:文库蛋蛋多 文档编号:2385685 上传时间:2023-02-17 格式:DOC 页数:19 大小:275KB
返回 下载 相关 举报
C语言程序设计课程设计通讯录管理系统.doc_第1页
第1页 / 共19页
C语言程序设计课程设计通讯录管理系统.doc_第2页
第2页 / 共19页
C语言程序设计课程设计通讯录管理系统.doc_第3页
第3页 / 共19页
C语言程序设计课程设计通讯录管理系统.doc_第4页
第4页 / 共19页
C语言程序设计课程设计通讯录管理系统.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《C语言程序设计课程设计通讯录管理系统.doc》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计通讯录管理系统.doc(19页珍藏版)》请在三一办公上搜索。

1、山东交通学院课程设计报告实习名称: 通讯录设计 教学院部: 山东 专业班级: 学生姓名: 学生学号: 指导教师: 完成时间: 2011 年09月09日 报告成绩: 评阅意见: 评阅教师 日期 通讯录管理系统一、 设计需求设计课题及要求1、 建立通讯录系统,包含编号、姓名、年龄、号码、地址、电子邮箱等2、 能够实现添加、删除和修改通讯录信息的功能3、 能偶实现按不同方式查询的功能;如按姓名或年龄、电话等查询4、 能够将通讯录保存在文件中系统功能1、 添加:添加通讯录记录2、显示:显示通讯录记录3、删除:删除通讯录记录4、查询:查询通讯录记录5、修改:修改通讯录记录6、保存:将信息保存到文件二、

2、总体设计及分析1、添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、2、电子邮箱后,会提示是否继续添加。3、显示:可以以表格形式输出所有通讯录里的记录4、删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容5、查询:可以选择用姓名、电话、地址三种方式查询6、修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、7、通讯地址、电子邮箱即可完成修改8、保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件主菜单添加显示修改删除查询保存三、 具体设计工作流程图1、添加通讯录 2、显示通讯录开始i=0Sign!=n&sign!=N输入信息retu

3、rn(n+1)结束开始int i;i=1In=1输出一个记录i+结束 Y Y N N 3、删除通讯记录 4、查询通讯记录(查询姓名)开始判断通讯录是否有此人删除该项记录结束输入删除的姓名显示“通讯录没有此人”开始判断通讯录是否有此人显示该人记录结束输入查询的姓名显示“通讯录没有此人” N Y N Y5、修改通讯记录开始判断通讯录是否有此人输入修改内容结束输入修改的姓名显示“通讯录没有此人” N Y 四、 源程序代码#include #include#include typedef struct char score; char name10; char num15; char email20;

4、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); printf(tt 4. 查询记录 n); printf(tt 5. 修改记录 n); printf(tt 6. 保存记录 n);printf(tt 0. 退出程序 n); printf(ttn); printf(tt请您选择(0-6

5、):); 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,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

6、+i.adds);printf(t电子邮箱:);scanf(t%s,pern+i.email);gets(x); printf(nt输入n或N将停止添加); scanf(t%c,&sign); i+; return(n+i); void Display(Person per,int n) int i; printf(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n); for(i=1;in+1;i+) printf(| %-5d | %-8s| %-6s| %-13s| %-15s

7、 | %-15s |n,peri-1.score,peri-1.name,peri-1.age,peri-1.num,peri-1.adds,peri-1.email); 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(peri.name,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return(n); fo

8、r(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 Query_a_record(Person per,int n) int m;printf(tn请选择查询方式:n); printf(tn);

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

10、rn; printf(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,peri.name,peri.age,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;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(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,peri.name,peri.age,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;if(m

12、=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(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,peri.name,peri.a

13、ge,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;void Change(Person per,int n) char s20; int i=0; printf(t请输入想修改的记录中的名字:); scanf(%s,s); while(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); print

14、f(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 filename20; printf(t保存到文件n); printf(t请输入所保存的文件名:); scanf(t%s,filename); if(fp=fopen(fi

15、lename,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,peri.email); i+; fprintf(fp,-n);fprintf(fp,*共有%d条记录*n,n); fclose(fp)

16、; 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); break;case 3: printf(nt从通讯录中删除记录n); n=Delete_a_record(pe,n); printf(t); system(pause); break; case 4: printf(nt在通讯录中查找记录n); Query_a_recor

17、d(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谢谢使用,再见!n); printf(ntt); system(pause); exit(0); 五、 运行结果1.显示主菜单界面2.添加界面3.显示界面4.删除界面删除后,通

18、讯录里的显示记录:5.查询界面以姓名查询方式为例:6.修改界面修改后,通讯记录的显示记录:7.保存界面六、 心得体会因为C语言是大一开的课程,所以当拿到课程设计的课题时,完全不知道该从何下手。回去以后,我又重新学了一遍我们以前C语言的教材,发觉自已有许多都遗忘了。要把一个程序编成功的过程真是困难重重,起初编成一个不能显示全文的程序,想加入一个函数,但是发现加进去后就整个程序都无法运行了,再检查发现是对某些参数未经定义就使用了。在运行程序的时候一直存在着警告,查了书才知道原来一些函数名没有匹配的头文件。开始运行时,我只输入了桌面文件的文件名,结果无论这样都是“无法打开文件” ,问了同学,同学告诉

19、我要把文件和程序保存在同一个文件夹下,电脑才能找到这个文件,或者可以直接输入文件的完整路径,而且还要输入文件的默认后缀名才能成功读取文件,终于在老师和同学的帮助下解决了这些问题。虽然我现在编成的这个程序不是很完美,但是我会在今后的学习中不断完善它。经过短短一周的课程设计,我才算真正了解C语言的基本知识,运用C语言可以解决许多实际问题,尤其是在信息管理方面,C语言作为一门高级和计算机编程语言,有其强大的功能。同样了解到C语言程序设计时所需的一种严谨和认真的精神,同时我也知道了我们随时都要培养自己的动手能力,只有这样,才能更好的适应这个日新月异的飞速发展的社会。七、 参考文献C程序设计实验教程中国铁道出版社 罗坚 编著C语言程序设计教程高等教育出版社 谭浩强 张基温 编著C语言课程设计案例精编 郭翠英 编著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号