通讯录管理系统设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

通讯录管理系统设计报告课程名称:C语言程序课程设计实验名称:通讯录管理系统姓名:学号:指导老师:实践时间:1设计题目的内容、任务及具体要求本程序是非数值计算型算法设计,主要使用的是数组的相关操作,包括结构体数组的输入、输出、查询、删除等。我们设计的这个通讯录系统也初步实现了人员信息的显示、删除、查询、修改等必要的功能。(1)录入联系人信息:以链表形式存放联系人信息并以文件形式存放通讯录信息。(2)浏览:按录入先后为序进行通讯录信息浏览。(3)查询:能实现指定联系人姓名查询或指定电话号码查询功能。(4)修改:能修改定联系人信息。(5)删除:能将指定联系人信息删除。(6)系统以菜单方式工作,界面友好,易于操作,容错性好。2总体设计思路我们首先设计出了主函数,然后根据去要实现的功能分别设计录入联系人信息、浏览、查询、修改、删除功能的子函数。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环实现删除。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。3系统功能设计本系统除主函数外,一共采用8个函数来完成系统功能。函数名及功能说明如下:(1)系统主菜单:menu_select()(2)初始时加载数据:LoadData()(3)录入联系人信息:Input()(4)浏览所有联系人信息:Display()(5)查找联系人:Search()(6)修改联系人:Modify()(7)删除联系人:Delete()(8)保存联系人Save();(9)显示某一个联系人的所有信息:DisplayDetails()函数间的调用关系如下图所示:=1开始LoadDatamenu_selectInputSaveDisplaySearchDisplayDetailsModifyDelete=2=3=4=5=0SaveSave退出DisplayDetailsDisplayDetails4程序功能结构图及功能描述本程序主要分为六个模块。它们分别为:录入联系人信息、浏览所有联系人、查找联系人、修改联系人、删除联系人和退出系统。程序功能结构图如下图所示:通讯录管理系统录入联系人信息浏览所有联系人查找联系人修改联系人删除联系人退出系统(1)在程序的主界面,显示系统的所有功能,包括:录入联系人信息、浏览所有联系人、查找联系人、修改联系人、删除联系人和退出系统。系统应提示用户如何选择相应功能。(2)当用户选择录入联系人信息后,系统进入录入联系人信息界面,在该界面应提示用户输入相应信息,当用户正确录入联系人信息后,自动生成一个不重复的联系人ID号,并将该联系人的信息以链表形式存放并以文件形式存放在通讯录文件的最后,并给出录入成功的提示并提示用户是否需要继续录入,根据用户的选择做出相应的处理。(3)当用户选择浏览所有联系人后,系统进入浏览所有联系人界面,在该界面中显示所有联系人的主要信息(所显示信息由用户确定)。(4)当用户选择查找联系人后,系统提示用户选择查询的关键字(基本要求是:可按联系人姓名、电话号码进行查询,该项用户可以扩展,可适当增加其他关键字)。当用户选择查询关键字,并按提示输入其值后,系统显示查询后的结果(如有该联系人,则显示该联系人的详细信息,否则给出适当提示)。(5)当用户选择修改联系人后,提示用户输入需修改的联系人ID,根据该ID查询到相应的联系人信息,并显示,用户按提示输入更改后的联系人信息,系统更新相应的联系人信息并提示用户。(6)当用户选择删除联系人后,需提示用户输入需删除的联系人ID,根据该ID查询到相应的联系人信息,并显示,用户确认后,系统删除相应的联系人信息并提示用户。。(7)当用户选择退出系后,退出程序。5功能模块的具体设计(1)开始界面(2)查找菜单界面(3)修改菜单界面6程序部分#includestdio.h#includestdlib.h#includestring.h#includeconio.hstructrecord{charname[20];charpost[20];chartel[20];charemail[20];}TelInfo[500];intNO;FILE*fp;voidmainmenu();/*主菜单*/voidnewrecord();/*新建联系人*/voidbrowsemenu();/*浏览所有信息*/voidsearchmenu();/*查找菜单*/voidsearchname();/*按姓名查找*/voidsearchtel();/*按电话查找*/voidmodifymenu();/*修改菜单*/voiddeletemenu();/*删除菜单*/voiddeleteall();/*删除所有*/voiddeletesingle();/*删除单个*/voiddeletename();/*按姓名删除*/voiddeletetel();/*按电话删除*/intloadfile();/*导入或建立文件*/voidsavefile();/*保存文件*/voidmain(){printf(\n\t\t:)欢迎使用乐乐通讯录管理系统beta);printf(\n\t\t\t\t文件导入中……请稍后……\n\n\n\n\n);system(cls);/*清屏*/loadfile();while(1)mainmenu();}voidmainmenu(){charchoice;system(cls);printf(\n\n);printf(\n\t\t┏━━━━━━━━主菜单━━━━━━┓);printf(\n\t\t┃┃);printf(\n\t\t┃欢迎你使用“通讯录查询系统”┃);printf(\n\t\t┃┃);printf(\n\t\t┃预祝您使用愉快!┃);printf(\n\t\t┃┃);printf(\n\t\t┃┃);printf(\n\t\t┃┃);printf(\n\t\t┃**************1-新建菜单**********┃);printf(\n\t\t┃┃);printf(\n\t\t┃*************2-浏览菜单***********┃);printf(\n\t\t┃┃);printf(\n\t\t┃*************3-查找菜单***********┃);printf(\n\t\t┃┃);printf(\n\t\t┃**************4-修改菜单**********┃);printf(\n\t\t┃┃);printf(\n\t\t┃**************5-删除菜单**********┃);printf(\n\t\t┃┃);printf(\n\t\t┃*************6-退出**************┃);printf(\n\t\t┃┃);printf(\n\t\t┗━━━━━━━━━━━━━━━━━━┛);printf(\n\t\t请选择:);choice=getch();switch(choice){case'1':newrecord();break;case'2':browsemenu();break;case'3':searchmenu();break;case'4':modifymenu();break;case'5':deletemenu();break;case'6':printf(\n\t\t\t谢谢您对通讯录管理系统的使用!!!\n);exit(0);default:mainmenu();}}voidnewrecord(){system(cls);printf(\n\t\t********请输入联系人信息*********\n);printf(\n\t\t输入姓名:);scanf(%s,&TelInfo[NO].name);printf(\n\t\t输入工作单位:);scanf(%s,&TelInfo[NO].post);printf(\n\t\t输入联系电话:);scanf(%s,&TelInfo[NO].tel);printf(\n\t\t输入Email地址:);scanf(%s,&TelInfo[NO].email);NO++;savefile();printf(\n\t\t是否继续添加(y/n):);if(getch()=='y')newrecord();return;}voidbrowsemenu(){inti;system(cls);if(NO!=0){printf(\n\t\t***********以下为通讯录所有信息******);for(i=0;iNO;i++){printf(\n\n\t\t%d):,i+1);printf(\n\t\t姓名:%s,TelInfo[i].name);printf(\n\t\t工作单位:%s,TelInfo[i].post);printf(\n\t\t联系电话:%s,TelInfo[i].tel);printf(\n\t\tEmail地址:%s,TelInfo[i].email);if(i(NO-1)&&(i+1)%3==0){printf(\n\n\t\t按任意键继续下一页:);getch();system(cls);printf(\n\t\t********以下为通讯录所有信息******);}}printf(\n\t\t***********************************);}elseprintf(\n\t\t\t+_+通讯录中无任何纪录);printf(\n\n\t\t按任意键返回主菜单进行添加:);getch();return;}voidsearchmenu(){charchoice;system(cls);printf(\n\n\t\t*************查找菜单*************);printf(\n\n\t\t***********1-按姓名查找***********);printf(\n\n\t\t***********2-按电话查找***********);printf(\n\n\t\t************3-返回主菜单***********);printf(\n\n\t\t*************************************);printf(\n\n\t\t请选择:);choice=getch();switch(choice){case'1':searchname();break;case'2':searchtel();break;case'3':mainmenu();break;}}voidsearchname(){intmark=0;inti;inta=0;charname[20];system(cls);printf(\n\t\t*********按姓名查找*************);printf(\n\t\t请输入姓名:);scanf(%s,name);for(i=a;iNO;i++){if(strcmp(TelInfo[i].name,name)==0){system(cls);printf(\n\t\t****以下是您查找的联系人信息***);printf(\n\n\t\t姓名:%s,TelInfo[i].name);printf(\n\t\t工作单位:%s,TelInfo[i].post);printf(\n\t\t联系电话:%s,TelInfo[i].tel);printf(\n\t\tEmail地址:%s,TelInfo[i].email);printf(\n\t\t*************************************);printf(\n\n\t\t按任意键返回主菜单:);mark++;getch();return;}}if(mark==0){printf(\n\t\t没有该姓名的联系人纪录);printf(\n\n\t\t按任意键返

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功