1、4.2界面设置34.2.1主界面34.2.2信息输入界面44.2.3信息查询界面44.2.4信息删除界面44.2.5信息修改界面54.2.6信息浏览界面54.3功能实现64.3.1信息输入功能64.3.2信息查询功能64.3.3信息删除功能64.3.4信息修改功能64.3.5信息浏览功能64.3.6退出系统6五程序源代码6六结束语20七参考文献20一、选题及说明题目:人口户籍信息管理系统人口户籍信息管理系统是一个简易的管理个人和家庭信息的系统,主要对个人和家庭的基本信息进行管理,个人基本信息包括姓名、性别、出生日期、民族、政治面貌、宗教信仰、身份证编码、联系方式、住址和门牌号,家庭的基本信息包
2、括住址、人口数和门牌号。管理系统主要有信息输入、信息查询、信息删除、信息修改和信息浏览五大功能。二、系统编写环境1.软件环境:Windows7(64位)VisualC+6.02.硬件环境:CPUI55200URAM8G1600MHz硬盘500G5400转三、主要功能说明1.信息输入:由函数InPut()实现,InPut()函数调用两个子函数,分别实现对个人和家庭基本信息的输入,输入后将输入的内容保存到容器中。2.信息查询:由函数Inquir()实现,Inquiry()函数调用两个子函数,分别实现隔热信息和家庭信息的查询,其中个人信息查询有三种方式,即姓名查询、身份证查询和门牌号查询,门牌号查询
3、可能会有多个查询结果。3.信息删除:由函数Delete()实现,Delete()函数调用两个子函数,分别实现对个人和家庭的信息删除。4.信息修改:由函数Change()实现,Change()函数调用两个子函数,分别实现对个人和家庭的信息进行修改,对个人信息进行修改时还可以选择对某一项信息进行修改。5.信息浏览:由Look()函数实现,实现机制和信息查询函数基本相同,分为三中浏览方式,即姓名浏览、身份证编码浏览和门牌号浏览。综合所有功能,整个程序的简单流程图如下:四、功能设计及实现(一)、数据结构:Person类中主要包含姓名(Name)、性别(Sex)、出生日期(Birth)、民族(Folk)
4、、政治面貌(Pol_sta)、宗教信仰(Belief)、身份证编码(ID)、联系方式(Tel)、住址(Add)和门牌号(Num),Family类中主要包含住址(Address)、门牌号(Number)和人口数(Pop)。(二)、界面设置:1.主界面:主界面显示该系统的五大主要功能和操作提示,如下图:2.信息输入界面:信息输入界面主要提示用户输入基本信息,如下图:3.信息查询界面:信息查询界面主要提示用户根据自己的需要输入相关信息进行查询,如下图:4.信息删除界面:信息删除界面主要是由用户输入要删除信息的身份证编码进行信息删除,如下图:5.信息修改界面:信息修改界面主要由个人或家庭的基本信息组成
5、,提示用户选择要修改的项目,用户选择进行修改,如下图:6.信息浏览界面:信息浏览界面主要提示用户选择要进行浏览的方式,有按姓名、按身份证号和按门牌号三种方式,如下图:(三)、功能实现:1.信息输入功能:由函数InPut()调用两个类中的Set()实现,具体的信息输入则用到标准输入流cin和字符串输入函数cin.get()、getline()实现,执行完输入函数后,用Per_vec.push_back()/Fam_vec.push_back()把输入的数据内容存到容器中。2.信息查询功能:由函数Inquiry()实现,信息查询功能有三种查询方式,即按照姓名查询、按照身份证编码查询和按照门牌号查询
6、。三种查询方式的实现机制都是利用字符串比较函数(*P)GetName().compare(na)=0、-(*P)GetID().compare(id)=0、(*P)GetNum().compare(num)=0,输入的所需查询的姓名或身份证编码或门牌号与容器中存储的数据进行比较,当两字符串相同时,输出查询的结果。3.信息删除功能:由函数Delete()实现,实现机制首先使用信息查询函数找到要删除人员的信息,再使用erase()函数删除信息,使用erase()函数时,把需要删除的内容的起止地址直接写到括号中。4.信息修改功能:由函数Change()调用两个类中的Change()实现,该功能首先要
7、选择需要修改的对象,然后在对该对象的信息进行修改,修改过后又将信息保存到容器中。5.信息浏览功能:由函数Look()实现,该功能的主要机制和信息查询功能差不,也提供三种浏览方式。6.退出系统:整个系统的是一个dowhile循环首先进入系统页面,然后输入选择,当输入不为“0”时,系统执行数字相对应的功能,当输入为“0”时,循环终止,整个系统退出。五、程序源代码#includestringvectorusingnamespacestd;#defineSIZE80classPerson stringName;/姓名 stringSex;/性别 stringBirth;/出生日期 stringFolk
8、;/民族 stringPol_sta;/政治面貌 stringBelief;/宗教信仰 stringID;/身份证编码 stringTel;/联系方式 stringAdd;/住址 stringNum;/门牌号 inti;public: Person();/无参构造函数 Person(stringna,stringsex,stringbirth,stringfolk,stringpol_sta,stringbelief,stringid,stringtel,stringadd,stringnum);/带参构造函数 Person(constPerson&per);/拷贝构造函数 Person();
9、/析构函数stringGetName();/提取姓名 stringGetSex();/提取性别 stringGetBirth();/提取出生日期 stringGetFolk();/提取民族 stringGetPol_sta();/提取政治面貌 stringGetBelief();/提取宗教信仰 stringGetID();/提取身份证编码 stringGetTel();/提取联系方式 stringGetAdd();/提取地址 stringGetNum();/提取门牌号 voidDisplay()const;/显示学生信息 voidSet();/输入学生信息 voidChange();/修改个人
10、信息;classFamilyprivate: stringAddress; intNumber; intPop;/人口数目 Family(); Family(stringaddress,intnumber,intpop); Family();/信息输入 voidDisplay();/信息输出/信息修改 intGetNumber();/门牌号返回函数Person:Person()i=0;/构造函数Person(stringna,stringsex,stringbirth,stringfolk,stringpol_sta,stringbelief,stringid,stringtel,string
11、add,stringnum) Name=na;Sex=sex; Birth=birth; Folk=folk; Pol_sta=pol_sta; Belief=belief;ID=id; Tel=tel; Add=add; Num=num;Person(constPerson&per)/拷贝构造函数 Name=per.Name; Sex=per.Sex; Birth=per.Birth; Folk=per.Folk; Pol_sta=per.Pol_sta; Belief=per.Belief; ID=per.ID; Tel=per.Tel; Add=per.Add; Num=per.Num;
12、Person()/析构函数 stringPerson:GetName()/提取姓名returnName;GetSex()/提取性别returnSex;GetBirth()/提取出生日期returnBirth;GetFolk()/提取民族returnFolk;GetPol_sta()/提取政治面貌returnPol_sta;GetBelief()/提取宗教信仰returnBelief;GetID()/提取身份证编码returnID;GetTel()/提取联系方式returnTel;GetAdd()/提取住址returnAdd;GetNum()/提取门牌号returnNum;voidPerson:Display()const/输出数据信息 cout1.姓名:Name2.性别:Sexendl;n3.出生日期:Birth4.民族:Folkn5.政治面貌:Pol_sta6.宗教信仰:Beliefn7.身份证编码:ID8.住址:Addn9.联系方式:Tel10.门牌号:NumSet()/输入数据 cin.get();请输入姓名:; getline(cin,Name);请输入性别: getline(cin,Sex); cin.get();请输入出生日期: getline(cin,Birth);请
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1