文档介绍:课程报告课程名称:程序设计实践专业班级:学生姓名:学号:201616010107任课教师:学期:2016-2017学年第二学期课程报告任务书成绩评定教师:1需求分析身份证管理系统——管理居民信息,便于查询,修改。添加-----把居民信息添加到链表中在存到文件IDcard中。查看所有个人信息——把文件中的所有信息输出。修改------用身份证号查找该信息,如果找到则进行修改功能,否则跳出该功能。排序------新建一个链表辅助排序,把排序后的链表输出,并且存到文件IDcard中,下次打开系统时输出排序后的序列。查找——用身份证号查找,如果找到则输出该信息,否则跳出该功能。删除——用身份证号查找该信息,如果找到则存入death文件中,再删除该结点,最后把删除后的链表存入文件,否则跳出该功能。2概要设计可适当参考以下提示:⑴数据结构typedefstruct{intyear;intmonth;intday;}data;typedefstructIDcard{charID[19];charname[10];charsex;charaddress[50];charnation[9];databirth;dataorigin;dataend;structIDcard*next;}SFZ,*Link;⑵模块划分⑶程序总体框主函数:定义:添加:删除:查找:加载:界面:修改:输出:存储:排序:3详细设计主函数包含头文件:、、、、、、、、、;添加函数voidadd(Linkhead,调用输入函数voidInputRecord(Linkhead进行输入;删除函数voiddel(Linkhead,调用查找ID函数LinkFindID(Linkhead,chars[]进行查找,删除;主界面调用函数voidexplain(void输出;管理员系统界面调用函数voidnamagedisplay(void输出;个人系统界面调用函数voidpersonaldisplay(void输出;输入密码界面调用函数intpassword(void;修改函数调用查找ID函数LinkFindID(Linkhead,chars[]进行查找,修改;查找函数调用查找ID函数LinkFindID(Linkhead,chars[]进行查找,再调用单个输出函数voidPrintRecord(Linktemp输出;加载函数voidload(Linkhead;输出所有信息函数voidoutput(Linkhead调用单个输出函数voidPrintRecord(Linktemp输出;存储函数voidsave(Linkhead;排序函数调用区号升序,区号降序,姓名升序函数进行排序voidZone_descriptionAsc(Linkhead、voidZone_descriptionDes(Linkhead、voidNameAsc(Linkhead。:4调试分析开始时存储的文件中多了一排烫,调试发现读入时多循环了一次,读入了一串垃圾值,修改后正常。之后一系列的小错误都是通过调试解决。关于查找函数的改进:开始查找信息返回值为结点数,之后改为返回地址。关于界面的改进,一开始选择系统执行功能后返回到选择系统,之后可以继续执行功能,手动跳出子系统。5测试结果添加: