欢迎来到天天文库
浏览记录
ID:861528
大小:1.53 MB
页数:39页
时间:2017-09-21
《通讯录管理系统--c语言程序设计实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计题目:通讯录管理系统设计者:院系:数理学院专业:信息与计算科学班号:123111学号:20111000586指导教师:吴湘宁2012年6月29日1.题目要求通讯录管理系统是具有数据插入、更新、删除、显示和查询功能的电话簿管理程序。(1)数据包括姓名、工作单位、电话号码和E-MAIL地址等。(2)可对记录中的姓名和电话号码进行更新。(3)可增加和删除记录。(4)可显示所有的保存的记录。(5)可按姓名或电话号码进行查询。2.需求分析1.信息记录要存放到文件中,要实现文件的输入、输出功能;2.实现数据的添加、删除、更新和显示,要提供输入、删除、更新和显示
2、功能;3.要实现按人名或电话号码进行查询,因而要提供查找功能;4.应该提供键盘式选择菜单以实现功能选择。5.采用模块化,由上到下的设计方法,通过数字选择菜单功能,上级菜单可进入下级菜单,下级菜单可返回上级菜单。3.总体设计根据上面得需求分析,系统有菜单选择、数据输入、数据查找、数据更新、数据的存储等功能。可以将系统设计分为四大模块,即显示、查找、更新(包括增加和删除)和退出,如图1所示。其中,主要功能是显示、查询和更新三个模块。通讯录管理系统显示查询更新退出图1系统功能模块图1.详细设计4.1主函数主函数设计比较简洁,只提供输入、功能处理和输出部分得函数调用。其
3、中各功能模块采用菜单方式选择。另外,菜单部分也可以写出函数。具体流程图如图2所示。图2主函数流程图显示一系列功能选项开始输入n,判断n是否是1~4根据n的值调用各功能模块函数结束【程序】main(){intn,w;do{puts("***************通讯录管理系统***************");puts("********************菜单********************");puts("1.显示通讯录");puts("2.查找");puts("3.更新");puts("4.退出");puts("****
4、****************************************");printf("选择功能(1-4):");scanf("%d",&n);if(n<1
5、
6、n>4){w=1;getchar();}else{w=0;}}while(w==1);switch(n)/*选择功能*/{case1:list();break;/*列出通讯录*/case2:find();break;/*查找*/case3:choose();break;/*更新通讯录*/case4:printf("谢谢使用!");/*退出*/}}4.2各功能模块设计★数据结构通讯
7、录的数据信息:姓名、工作单位、电话号码、E-MAIL均采用字符型数组,用结构体的形式,把各信息作为结构的成员。结构体变量可以是指针类型,结构体的类型如下:structpersons{charname[100];charaddress[100];charnumber[100];charemail[100];}per[N];/*N为通讯录总人数*/注:per[N]中的N为记录的总个数,程序中用宏定义的方式,可以随时在源程序宏定义中修改。本程序的宏定义为#defineN100。★back():返回菜单,作为公告函数,提供从各个子模块返回主菜单或者退出,程序如下:voi
8、dback(){intn,m,w;do{puts("**************************************************");puts("1.返回主菜单2.退出");scanf("%d",&m);if(m!=1&&m!=2){w=1;getchar();}else{w=0;}}while(w==1);if(m==2){puts("**************************************************");printf("谢谢使用!");exit(0);}if(m==1){do{pu
9、ts("*******************通讯录管理系统*****************");puts("************************菜单**********************");puts("1.显示通讯录");puts("2.查找");puts("3.更新通讯录");puts("4.退出");puts("**************************************************");printf("请选择功能(1-4):");scanf("%d",&n);if(n<1
10、
11、n
12、>4){w=1;getc
此文档下载收益归作者所有