人口户籍管理系统 C++



《人口户籍管理系统 C++》由会员分享,可在线阅读,更多相关《人口户籍管理系统 C++(21页珍藏版)》请在文档大全上搜索。
1、*软件课程设计实践实验报告专 业 班 级 :学 生 姓 名 :学 号:实验项目名称:实验项目性质:实验所属课程:实验室(中心):指 导 教 师 :实验完成时间: 教师评阅意见: 签名: 年 月 日实验成绩:20目录一 选题及说明 2二 系统编写环境 2 2.1 软件环境 2 2.2 硬件环境 2三 主要功能说明 2 3.1 信息输入 2 3.2 信息查询 2 3.3 信息删除 2 3.4 信息修改 2 3.5 信息浏览 2四 功能设计及实现 3 4.1数据结构 3 4.2界面设置 3 4.2.1 主界面 3 4.2.2 信息输入界面 4 4.2.3 信息查询界面 4 4.2.4 信息删除界面
2、4 4.2.5 信息修改界面 5 4.2.6 信息浏览界面 5 4.3 功能实现 6 4.3.1 信息输入功能 6 4.3.2 信息查询功能 6 4.3.3 信息删除功能 6 4.3.4 信息修改功能 6 4.3.5 信息浏览功能 6 4.3.6 退出系统 6五 程序源代码 6六 结束语 20七 参考文献 20一、选题及说明题目:人口户籍信息管理系统人口户籍信息管理系统是一个简易的管理个人和家庭信息的系统,主要对个人和家庭的基本信息进行管理,个人基本信息包括姓名、性别、出生日期、民族、政治面貌、宗教信仰、身份证编码、联系方式、住址和门牌号,家庭的基本信息包括住址、人口数和门牌号。管理系统主要有
3、信息输入、信息查询、信息删除、信息修改和信息浏览五大功能。二、系统编写环境 1.软件环境:Windows 7(64位) Visual C+6.0 2.硬件环境:CPU I5 5200U RAM 8G 1600MHz 硬盘 500G 5400转三、主要功能说明1. 信息输入:由函数InPut()实现,InPut()函数调用两个子函数,分别实现对个人和家庭基本信息的输入,输入后将输入的内容保存到容器中。2. 信息查询:由函数Inquir()实现,Inquiry()函数调用两个子函数,分别实现隔热信息和家庭信息的查询,其中个人信息查询有三种方式,即姓名查询、身份证查询和门牌号查询,门牌号查询可能会有
4、多个查询结果。3. 信息删除:由函数Delete()实现,Delete()函数调用两个子函数,分别实现对个人和家庭的信息删除。4. 信息修改:由函数Change()实现,Change()函数调用两个子函数,分别实现对个人和家庭的信息进行修改,对个人信息进行修改时还可以选择对某一项信息进行修改。5. 信息浏览:由Look()函数实现,实现机制和信息查询函数基本相同,分为三中浏览方式,即姓名浏览、身份证编码浏览和门牌号浏览。综合所有功能,整个程序的简单流程图如下:四、功能设计及实现(一)、数据结构:Person类中主要包含姓名(Name)、性别(Sex)、出生日期(Birth)、民族(Folk)、
5、政治面貌(Pol_sta)、宗教信仰(Belief)、身份证编码(ID)、联系方式(Tel)、住址(Add)和门牌号(Num),Family类中主要包含住址(Address)、门牌号(Number)和人口数(Pop)。(二)、界面设置:1.主界面:主界面显示该系统的五大主要功能和操作提示,如下图:2.信息输入界面:信息输入界面主要提示用户输入基本信息,如下图:3.信息查询界面:信息查询界面主要提示用户根据自己的需要输入相关信息进行查询,如下图:4.信息删除界面:信息删除界面主要是由用户输入要删除信息的身份证编码进行信息删除,如下图:5.信息修改界面:信息修改界面主要由个人或家庭的基本信息组成,
6、提示用户选择要修改的项目,用户选择进行修改,如下图:6. 信息浏览界面:信息浏览界面主要提示用户选择要进行浏览的方式,有按姓名、按身份证号和按门牌号三种方式,如下图:(三)、功能实现:1.信息输入功能:由函数InPut()调用两个类中的Set()实现,具体的信息输入则用到标准输入流cin和字符串输入函数cin.get()、getline()实现,执行完输入函数后,用 Per_vec.push_back()/Fam_vec.push_back()把输入的数据内容存到容器中。2.信息查询功能:由函数Inquiry()实现,信息查询功能有三种查询方式,即按照姓名查询、按照身份证编码查询和按照门牌号查
7、询。三种查询方式的实现机制都是利用字符串比较函数(*P)GetName().compare(na)=0、-(*P)GetID().compare(id)=0、(*P)GetNum().compare(num)=0,输入的所需查询的姓名或身份证编码或门牌号与容器中存储的数据进行比较,当两字符串相同时,输出查询的结果。3.信息删除功能:由函数Delete()实现,实现机制首先使用信息查询函数找到要删除人员的信息,再使用erase()函数删除信息,使用erase()函数时,把需要删除的内容的起止地址直接写到括号中。4.信息修改功能:由函数Change()调用两个类中的Change()实现,该功能首先
8、要选择需要修改的对象,然后在对该对象的信息进行修改,修改过后又将信息保存到容器中。5.信息浏览功能:由函数Look()实现,该功能的主要机制和信息查询功能差不,也提供三种浏览方式。6.退出系统:整个系统的是一个do···while循环首先进入系统页面,然后输入选择,当输入不为“0”时,系统执行数字相对应的功能,当输入为“0”时,循环终止,整个系统退出。五、程序源代码#include<iostream>#include<string>#include<vector>using namespace std;#define SIZE
9、80class Personstring Name; /姓名string Sex; /性别string Birth; /出生日期string Folk; /民族string Pol_sta; /政治面貌string Belief; /宗教信仰string ID; /身份证编码string Tel; /联系方式string Add; /住址string Num; /门牌号int i;public:Person(); /无参构造函数Person( string na, string sex, string birth, string folk, string pol_sta, string bel
10、ief, string id, string tel, string add,string num); /带参构造函数Person(const Person &per); /拷贝构造函数Person(); /析构函数 string GetName(); /提取姓名string GetSex(); /提取性别string GetBirth(); /提取出生日期string GetFolk(); /提取民族string GetPol_sta(); /提取政治面貌string GetBelief(); /提取宗教信仰string GetID(); /提取身份证编码string GetTel(
11、); /提取联系方式string GetAdd(); /提取地址string GetNum(); /提取门牌号void Display() const; /显示学生信息void Set(); /输入学生信息 void Change(); /修改个人信息;class Familyprivate:string Address; /住址int Number; /门牌号int Pop; /人口数目public:Family();Family(string address, int number, int pop);Family();void Set(); /信息输入void Display(); /信