据数结构课程设计.doc
上传人:天马****23 上传时间:2024-09-12 格式:DOC 页数:25 大小:149KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

据数结构课程设计.doc

据数结构课程设计.doc

预览

免费试读已结束,剩余 15 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

问题描述具有数据的插入、修改、删除、显示和查询功能的电话薄管理程序。有2个主文件用来存储数据,格式如下:info.txt文件:编号姓名性别生日电话1电话2所在地分组1测试01男01011567165404313131311235武汉12测试02女01011567165404313131311235十堰23测试03男01011567165404313131311235上海34测试04男01011567165404313131311235北京45测试05男01011567165404313131311235深圳56测试06女01011567165404313131311235广州07测试07男01011567165404313131311235十堰08测试08男01011567165404313131311235武汉0groups.txt文件:编号组名人数0未分组31家人12朋友13同学14同事15老师1可对info.txt文件中除了编号的所有信息进行修改,可对groups.txt中的组名进行修改。可对两个文件增添相应的内容,增添时各项不可为空(空用给出的提示内容进行填充),两文件中的编号都不可更改且唯一且自增。可根据唯一编号删除(修改)相应的人员信息和分组信息,删除时都会提示是否确认删除,防止误删现象发生。可以读取显示所有保存在文件中的信息。可以根据除编号以外的任意信息进行查询人员信息,在一次查询完成后,会提示是否在现有结果中继续查询,依次类推执行下去,以实现综合查询的目的。可以将添加、修改、删除后的数据保存到相应文件中。在选择退出程序时,会提示是否已保存信息,防止误退的情形发生。解题思路力求以简洁的操作界面,最少的内存使用和最高的效率为原则,带给用户清爽的体验。进入菜单,选择相应的操作,操作完毕有相应的提示语。操作完毕,返回菜单。根据问题描述中的内容,可以将程序系统设计分为以下几个模块:读取、保存、添加、删除、查询、修改和退出。通讯录管理系统读取记录退出系统保存记录添加记录删除记录修改记录查询记录退出查找按分组查找按地区查找按电话查找按性别查找按姓名查找查询所有设计框架:算法描述主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。开始显示一系列功能,输入c判断c是否在范围内根据c的值调用各功能模块函数结束流程图:NY程序设计结构体:/*定义结构体*//*个人信息结构体*/typedefstruct{intNum;//编号charName[20];//名字charSex[5];//性别charDateB[10];//出生日期charTel1[12];//电话1charTel2[12];//电话2charLocation[20];//所在地intGroupsId;//分组编号}elemtype;typedefstructnode{elemtypedata;structnode*next;}linklist;/*分组信息结构体*/typedefstructGroups{intid;charname[20];intnum;structGroups*next;}GNode,*GList;主函数设计:程序启动进入主函数,进入主菜单界面和用户进行交互。/*主菜单*/intmean(){linklist*l;GListg;l=FLoad(l);g=GLoad(g);while(l){intcontrol;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*7--查询人员*\n");printf("\t\t*8--查询分组*\n");printf("\t\t*9--修改人员*\n");printf("\t\t*10--修改分组*\n");printf("\t\t*0--退出系统*\n");