C语言程序课程设计报告通讯录管理系统.doc
《C语言程序课程设计报告通讯录管理系统.doc》由会员分享,可在线阅读,更多相关《C语言程序课程设计报告通讯录管理系统.doc(18页珍藏版)》请在三一办公上搜索。
1、程序设计基础课程设计报告书设计题目 通讯录程序设计 姓 名 专业班级 信管10-01 学 号 指导教师 成 绩 _ 工商管理学院信息管理系2011年4月一、引言2二、系统功能和原始数据3三、程序总体设计3四、功能模块函数设计和调试5五、程序清单11六、课程设计总结17七、参考资料17一、引言为了系统的运用C程序设计方面的知识,考察自身知识结构上的不足,巩固程序设计基础,我做了一个通讯录管理系统。我觉得它的综合性比较强,不仅能运用到初级设计的顺序,选择,循环等的结构,同时还可以体现c语言的特色,比如说指针、结构体、共用体、文件。通讯录中涉及到的电话号码是整形数据,而姓名则是字符型的,同时邮箱又是
2、整形和字符型数据的混合使用。有利于加强对数据类型的掌握。通讯录要求的基本功能是:1.数据的录入;2.数据的继续添加;3.数据的修改;4.数据的删除;5.数据的整体浏览;6.数据的查询(1).其中录入、添加、删除可用数组和文件共同完成,最终将数据储存在磁盘上,而不是内存中。(2).数据的浏览浏览可用循环和fread函数。(3).数据的查询用字符串函数中的strcmp其中大部分功能都是由调用函数实现的,这使得整个系统高度的模块化,有利于系统的维护和后续功能的扩展,同时尽量考虑使用过程中存在的问题并添加相应的提示,使得整个系统非常的智能化;另一方面,运用常见的格式控制和特殊的格式控制使得操作界面简洁
3、明了。理论上操作界面可以直接切换,但是本程序设计中由于模块化的设计致使操作界面只能够靠循环来实现了,与理论设想相差一步。二、系统功能和原始数据(1) 原始数据(2) 系统功能1).新建联系人2).添加联系人3).修改信息4).删除一项或者多项5).整体浏览6).利用姓名或者电话号码查找联系人三、程序总体设计(1).数据结构1).整形(包括int和unsigned)2).字符型(2).模块划分和层次结构通讯录管理系统数据录入数据添加数据修改数据查找数据删除浏览(3).函数原型清单1)主函数main()2)菜单函数menu()3)数据输入函数enter()4)数据添加函数add()5)数据修改函数
4、modify()6)记录浏览函数browse()7)数据删除函数deleter()8)数据查找函数search()9)库函数scanf()、printf()、getchar()、puts()、exit()11)处理文件的函数fopen()、fclose()、fread()、sizeof()12)处理字符串的函数strcmp()(4)程序总体框架MainMenuEnterAddBrowseSearchModifyDeleterExit(5)程序组织四、功能模块函数设计和调试1).输入模块作用:信息的录入输入新建的个数nnnJ=1J=n姓名,籍贯,电话,邮箱箱save()J+menu()2)添加模
5、块作用:完成系统数据的后续添加输入添加的个数tnni=1i=t姓名,籍贯,电话,邮箱箱save()i+menu()t=N-n?提示错误3)数据修改模块作用:可对存入记录的姓名、籍贯、联系电话1、联系电话2、邮箱进行修改并保存姓名s.namestrcmp( )=0?c姓名籍贯电话号码1电话号码2邮箱输入正确数据save()menu提示错误4).数据查找模块作用:通过姓名或者联系电话1、联系电话2查找其他信息int w ,c struct people s输出“1代表姓名,2代表电话号码”输入ww=1?输入s.name输出姓名、籍贯、电话1、电话2、邮箱1代表电话1输入ccs.num1s.num2
6、strcmp()=0?strcmp( )=0?否是是提示错误提示错误5)数据删除模块作用:通过对文件的操作删除通讯录中的数据输入想删除的姓名i=1strcmp()=0?peoplei=0save()i=ni+是删除完毕无此记录否6)数据浏览模块输出标题(fp=fopen(“file”,”wb”)!=null?输出数据没有记录fclose否五、程序清单#define N 50#include#includestruct peoplechar name20; char address50; char num115; char num215; char mail20;peopN;void print
7、f_face()/*显示选项*/ printf(nt姓名tt籍贯ttt电话号码1tt电话号码2tt邮箱n); void printf_one(int i) printf(t%-16s%-24s%-16st%-16st%sn,peopi.name,peopi.address,peopi.num1,peopi.num2,peopi.mail); void printf_n(int n) int j; for(j=0;jnn 1).姓名 2).籍贯 3).电话号码1 4).电话号码2 5).邮箱 6).所有数据 7).取消并返回); printf(请选择?: bb); scanf(%d,&c); i
8、f(c7|c7|c1); do switch(c) case 1: printf(姓名:); scanf(%s,peopi.name); break; case 2: printf(籍贯); scanf(%s,peopi.address); break; case 3: printf(电话号码1:); scanf(%s,peopi.num1); break; case 4: printf(电话号码2:); scanf(%s,peopi.num2); break; case 5: printf(邮箱:);scanf(%s,peopi.mail);break; case 6: input(i);
9、break; case 7: menu(); puts(nNow:n); printf_face(); printf_one(i); printf(n确定?nnt1).是 2).不,重新修改 3).返回不保存 bb); scanf(%d,&w1); while(w1=2); return(w1);void input(int i) printf_face(); printf(t); scanf(%st%st%st%st%s,peopi.name,peopi.address,peopi.num1,peopi.num2,peopi.mail); void save(int n)/*文件保存函数*/
10、 FILE *fp; int i; if(fp=fopen(file,wb)=NULL) printf(n无法打开n); exit(0); for(i=0;in;i+) if(peopi.name0!=0) if(fwrite(&peopi,sizeof(struct people),1,fp)!=1) printf(文件写入错误!n); fclose(fp);void printf_back() int w; void browse(); void menu(); printf(nnt_.*操作成功*. _nn); printf(接下来你想干什么?nnt1).浏览所有t2).返回: bb);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 课程设计 报告 通讯录 管理 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2384669.html