您好,欢迎访问三七文档
摘要为了人们对他人信息的记忆方便而设计,开发的一套“通讯录管理系统“软件。通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。关键字:信息;管理;实用AbstractDesignedforpeopletoothersthememoryofinformationconvenient,developedasetofmaillistmanagementsystemsoftware.Throughthedesignprocessofthissubject,studentscanbestructuredprogrammingideas,deepenourunderstandingoftheadvancedlanguagebasiclanguageelementsandcontroltheunderstandingofthestructure,conducttrainingforemphasisanddifficultyinClanguage,independentlycompletetheprogramdesignhasacertainworktasks,whileemphasizingthegoodprogrammingstyle.Comprehensivetraininginsoftwareengineering,improvingtheabilitytosolvepracticalproblems.Keywords:Information;management;practical目录1概述.........................................................................11.1设计目的..................................................................11.2设计要求..................................................................11.3系统功能需求分析..........................................................22总体设计.....................................................................32.1总体功能模块图............................................................32.2程序的数据设计............................................................43详细设计.....................................................................53.1功能及工作流程图..........................................................53.2源程序代码................................................................84调试分析....................................................................194.1测试.....................................................................194.2问题思考与调试:.........................................................275总结........................................................................28参考文献......................................................................29致谢........................................................................271概述1.1设计目的随着信息社会的高速发展,人与人之间的联系越来越频繁,通讯方式越来越多样化,如何保证与朋友、同学、同事、领导、亲戚等之间的联系,并能方便快捷的查找、记录、修改其相关通讯信息。仅靠以前单独的手工记录已远远不能满足当前的需要。开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关人员的通讯信息,了解友人相关信息,帮助与友人保持联络。所以设计一个通讯录管理系统管理各人的通讯信息是是非必要的。设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。(1)数据包括:人名、工作单位、电话号码和E-mail地址。(2)可对记录中的姓名和电话号码进行修改。(3)可增加或删除记录。(4)可显示所有保存的记录。(5)可按人名或电话号码进行查询。1.2设计要求建立通讯录信息,信息至少包含姓名、住址、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、E-mail、QQ等。该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、单位、分类方式查找。将通讯录保存在文件中。能够输出通讯录中的信息。1.3系统功能需求分析主要包含一下多种功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件本系统为通讯录管理系统,可由用户自由添加,删除和修改信息,还可以将通讯录信息导出到文本文档,极大的方便了用户的使用。2总体设计思路:我们首先设计出了主函数,然后根据去要实现的功能分别设计录入联系人信息、浏览、查询、修改、删除功能的子函数。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环实现删除。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。2.1总体功能模块图图2.1总体功能模块图添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录。删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。查询:可以选择用姓名、电话、地址三种方式查询。修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件。运行所需环境:win7及以下各版本windows,visualC++6.0。2.2程序的数据设计该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。下面六个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和除数据。创建:用fopen()建立一个文本文件,然后用fprintf()向其中输入数据(例如,向文件中输入“姓名”,“地址”等),并对文件进行命名。添加:可以添加通讯录记录,利用C语言文件,向文件中按顺序输入姓名、住址、单位、固定电话、手机号码、分类(如同事、朋友、同学、家人等)、E-mail、QQ,再用fclose()函数关闭并保存文件。输出:也是用通过循环依次输出文件中的数据,即输出所有通讯录里的记录。删除:输入你要删除的人的姓名后,系统会自动删除他(她)的记录,在删除通过switch语句满足提示你确认删除的功能,只有等你确认删除后才会删除。查找:为了满足用户的实际需求,设计了三种查询方式,可以用姓名、单位、分类三种方式查找通讯录记录。这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后,就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。修改:输入你要修改的那个人的姓名后,系统会查找该通讯录文件(此时用发ftell()函数来跟踪文件指针的指向地址,找到个人的记录后,会显示他(她)的记录,然后通过fseek()函数来找到修改处的地址,然后用户再依次输入他(她)的相关信息来替代以前的记录。保存:用到fclose()函数,每次操作成功后会自动保存到指定的文件中。3详细设计3.1功能及工作流程图①添加:添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。图3.1(1)添加流程图②显示:以表格形式输出所有通讯录里的图3.1(2)显示流程图③删除::输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。图3.1(3)删除流程图④查询:可以选择用姓名、电话、地址三种方式查询。图3.1(4)查询流程图⑤修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。图3.1(5)修改流程图3.2源程序代码#includestdio.h#includestdlib.h#includestring.htypedefstruct{charscore;/*编号*/charname[10];/*姓名*/charnum[15];/*号码*/charemail[20];/*邮箱*/charage[8];/*年龄*/charadds[20];/*住址*/}Person;Personpe[80];intmenu_select(){charc;do{system(cls);printf(\t\t*****通讯录*****\n);printf(\t\t┌───────┐\n);printf(\t\t│1.添加记录│\n);printf(\t\t│2.显示记录│\n);printf(\t\t│3.删除记录│\n);printf(\t\t│4.查询记录│\n);printf(\t\t│5.修改记录│\n);printf(\t\t│6.保存记录│\n);printf(\t\t│0.退出程序│\n);printf(\t\t└───────┘\n);printf(\t\t请您选择(0-6):);c=getchar();}while(c'0'||c'6');return(c-'0');}intInput(Personper[],intn){inti=0;charsign,x[10];while(sign!='n'&&sign!='N'){printf(\t编号:);scanf(\t%d,&per[n+i].score);printf(\t姓名:);scanf(\t%s,per[n+i].name);printf(\t年龄:);scanf(\t%s,per[n+i].age);printf(\t电话号码:);scanf(\t%s,per[n+i].num);printf(\t通讯住址:);scanf(\t%s,per[n+i].adds);printf(\t电子邮箱:);scanf(\t%s,per[n+i].email);gets(x);printf(\n\t是否继续添加?(Y/N));scanf(\t%c,&sign);i++;}return(n+i);}voidDisplay(Personper[],intn){inti;printf(----------------------------------------------------------------------\n);/*格式*/printf(编号姓名年龄电话号码通讯地址电子邮箱\n);printf(----------------
本文标题:25通讯录管理系统
链接地址:https://www.777doc.com/doc-4919785 .html