c语言学习知识身份证信息管理方案计划系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程报告

课程名称:程序设计实践

专业班级:

学生姓名:

学号: 201616010107 任课教师:

学期:2016-2017学年第二学期

课程报告任务书

成绩评定教师:

1 需求分析

身份证管理系统——管理居民信息,便于查询,修改。

添加-----把居民信息添加到链表中在存到文件IDcard中。查看所有个人信息——把文件中的所有信息输出。修改------用身份证号查找该信息,如果找到则进行修改功能,否则跳出该功能。排序------新建一个链表辅助排序,把排序后的链表输出,并且存到文件IDcard 中,下次打开系统时输出排序后的序列。查找——用身份证号查找,如果找到则输出该信息,否则跳出该功能。删除——用身份证号查找该信息,如果找到则存入death文件中,再删除该结点,最后把删除后的链表存入文件,否则跳出该功能。

2 概要设计

可适当参考以下提示:

⑴数据结构

typedef struct

{

int year;

int month;

int day;

}data;

typedef struct IDcard

{

char ID[19];

char name[10];

char sex;

char address[50];

char nation[9];

data birth;

data origin;

data end;

struct IDcard *next;

}SFZ,*Link;

⑵模块划分

⑶程序总体框主函数:

定义:添加:

删除:

查找:加载:

界面:

修改:输出:

存储:排序:

3 详细设计

主函数包含头文件:define.h、display.h、output.h、save.h、Add.h、load.h、edit.h、find.h、del.h、sort.h;

添加函数void add(Link head),调用输入函数void InputRecord(Link head)进行输入;

删除函数void del(Link head),调用查找ID函数Link FindID(Link head,char s[])进行查找,删除;主界面调用函数void explain(void)输出;管理员系统界面调用函数void namagedisplay(void)输出;个人系统界面调用函数void personaldisplay(void)输出;输入密码界面调用函数int password(void);修改函数调用查找ID函数Link FindID(Link head,char s[])进行查找,修改;查找函数调用查找ID函数Link FindID(Link head,char s[])进行查找,再调用单个输出函数void PrintRecord(Link temp)输出;加载函数void load(Link head);输出所有信息函数void output(Link head)调用单个输出函数void PrintRecord(Link temp)输出;存储函数void save(Link head);排序函数调用区号升序,区号降序,姓名升序函数进行排序void Zone_descriptionAsc(Link head)、void Zone_descriptionDes(Link head)、void NameAsc(Link head)。

system.zip

源代码:

4 调试分析

开始时存储的文件中多了一排烫,调试发现读入时多循环了一次,读入了一串垃圾值,修改后正常。之后一系列的小错误都是通过调试解决。关于查找函数的改进:开始查找信息返回值为结点数,之后改为返回地址。关于界面的改进,一开始选择系统执行功能后返回到选择系统,之后可以继续执行功能,手动跳出子系统。

5测试结果

添加:

修改:

输出:

删除:

查询:在删除中已经使用,再调用输出函数输出,即为查询;排序:因为需要的数据太多,图片较多,请自行解决。

6 课程心得总结

本学期,当大作业刚布置下来的时候感觉很难,因为感觉学的东西太少,根本完不成这个任务,因此前几周都没开始写,一直等把c语言都上完了才开始。刚开始时不会建工程,便用Cb开始写,后来经过进一步的研究才学会了用Vc写这个大作业。在写大作业的过程中也并不是那么顺利,存在着太多的bug,然后就摸索着调试,直到写完大作业才明白,原来它的目的是让我们提高自己。在整个过程中对我提升最大的就是链表的使用和调试了。开始学单链表时很是疑惑,而现在已经能够熟练的使用链表,在大作业众多的错误中,让我从一个不怎么会调试的菜鸟,变成一个能比较熟练使用调试的大渣渣。其实学c,想要掌握它的精髓,就必须自己亲自去实现某一个功能,然后逐步调试,就能很快地掌握它(实践是检验真理的唯一标准)。

相关文档
最新文档