C++程序设计课程设计人口户籍信息管理系统源程序.docx

上传人:b****2 文档编号:24511710 上传时间:2023-05-28 格式:DOCX 页数:16 大小:17.26KB
下载 相关 举报
C++程序设计课程设计人口户籍信息管理系统源程序.docx_第1页
第1页 / 共16页
C++程序设计课程设计人口户籍信息管理系统源程序.docx_第2页
第2页 / 共16页
C++程序设计课程设计人口户籍信息管理系统源程序.docx_第3页
第3页 / 共16页
C++程序设计课程设计人口户籍信息管理系统源程序.docx_第4页
第4页 / 共16页
C++程序设计课程设计人口户籍信息管理系统源程序.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++程序设计课程设计人口户籍信息管理系统源程序.docx

《C++程序设计课程设计人口户籍信息管理系统源程序.docx》由会员分享,可在线阅读,更多相关《C++程序设计课程设计人口户籍信息管理系统源程序.docx(16页珍藏版)》请在冰豆网上搜索。

C++程序设计课程设计人口户籍信息管理系统源程序.docx

C++程序设计课程设计人口户籍信息管理系统源程序

九、源程序代码

#include

#include

#include

#include//kj;lj;j;j;

classpopulation

{

private:

intmaxnum;//人口户籍编号最大值r

intsno;//编号

charname[20];

charsex[2];

intage;

charbirth[10];//出生日期

charfolk[2];//民族

charmianmao[10];//政治面貌

chardepartment[10];//村组名

charspeciality[10];//家庭门牌号

charaddress[30];//人口家庭详细地址

public:

population();

~population();

voidenter();//户籍信息录入函数

voiddisplay();//户籍信息输出函数

voidsetsno(inttemp);

intgetsno();

char*getname();

char*getspeciality();

voidread();

voidwrite();

voidchange();

};

population:

:

population()

{}

population:

:

~population()

{}

intpopulation:

:

getsno()

{returnsno;}

char*population:

:

getspeciality()

{returnspeciality;}

voidpopulation:

:

setsno(inttemp)

{sno=temp;}

char*population:

:

getname()

{returnname;}

voidpopulation:

:

display()

{

cout<

)<

}

voidpopulation:

:

change()

{

charch;

cout<<"请输入要修改人员的信息"<

cout<<"*******************************************************"<

cout<<"姓名是不是要改写(Y/N)"<

cin>>ch;

if(ch=='Y'||ch=='y')

{

cout<<"请输入新姓名:

"<

cin>>name;

}

cout<<"输入性别(男(n),女(m)):

"<

cin>>sex;

if(strcmp(sex,"n")!

=0&&strcmp(sex,"m")!

=0)

{

cout<<"错误请重新输入!

:

"<

cin>>sex;

}

cout<<"输入年龄:

"<

cin>>age;

while(age<1||age>=110)

{

cout<<"错误请重新输入!

"<

cin>>age;

}

cout<<"输入出生日期:

"<

cin>>birth;

cout<<"输入民族:

"<

cin>>folk;

cout<<"输入政治面貌类别(党员(a),非党员(b)):

"<

cin>>mianmao;

while(strcmp(mianmao,"a")!

=0&&strcmp(mianmao,"b")!

=0)

{

cout<<"错误请重新输入!

"<

cin>>mianmao;

}

cout<<"输入村组名:

"<

cin>>department;

cout<<"输入家庭门牌号:

"<

cin>>speciality;

cout<<"输入家庭详细地址:

"<

cin>>address;

cout<<"***************************************************"<

cout<<"你刚刚输入的人员信息如下:

"<

display();

}

voidpopulation:

:

enter()

{

ifstreamtfile("max.txt",ios:

:

binary|ios:

:

nocreate);

if(tfile)

{

tfile.read((char*)&maxnum,sizeofmaxnum);

}

else

{

maxnum=1000;//户籍编号初始化

}

tfile.close();

sno=maxnum++;

ofstreamofile("max.txt");

ofile.write((char*)&maxnum,sizeofmaxnum);

tfile.close();

cout<<"请输入人员信息"<

cout<<"人员姓名:

"<

cin>>name;

cout<<"性别(男(n),女(m)):

"<

cin>>sex;

while(strcmp(sex,"n")!

=0&&strcmp(sex,"m")!

=0)

{

cout<<"错误请重新输入!

"<

cin>>sex;

}

cout<<"出生日期:

"<

cin>>birth;

cout<<"年龄:

"<

cin>>age;

while(age<1||age>=110)

{

cout<<"错误请重新输入!

"<

cin>>age;

}

cout<<"政治面貌类别(党员(a),非党员(b)):

"<

cin>>mianmao;

while(strcmp(mianmao,"a")!

=0&&strcmp(mianmao,"b")!

=0)

{

cout<<"错误请重新输入!

"<

cin>>mianmao;

}

cout<<"民族:

"<

cin>>folk;

cout<<"村组名:

"<

cin>>department;

cout<<"家庭门牌号:

"<

cin>>speciality;

cout<<"家庭详细地址:

"<

cin>>address;

}

//主程序部分:

#include

#include

#include

#include

#include

//#include"population.h"

populationpop;//population类的全局变量

voidread()

{

ifstreamafile("population.txt",ios:

:

nocreate);

afile.read((char*)&pop,sizeofpop);

}

voidwrite()

{

ofstreambfile("population.txt",ios:

:

app);

bfile.write((char*)&pop,sizeofpop);

}

voidinput(void)//录入函数

{

charch;

pop.enter();

write();

cout<<"你还要输入下一位人员的信息吗(Y/N)!

"<

cin>>ch;

if(ch=='Y'||ch=='y')

{

input();

}

}

voidsearch()//查询函数

{

intj,k,i,m=0;

charch1[5],ch2[10];

cout<<"请输入你的查找类型:

(1.编号2.姓名3.门牌号)"<

cin>>j;

while(j<=0||j>=4)

{

cout<<"错误请重新选择!

"<

cin>>j;

}

if(j==1)

{

cout<<"请输入你要查找的人员的编号:

"<

cin>>i;

}

if(j==2)

{

cout<<"请输入你要查找的人员的姓名:

"<

cin>>ch1;

}

if(j==3)

{

cout<<"请输入你要查找的人员的家庭门牌号:

"<

cin>>ch2;

}

ifstreamdfile("population.txt",ios:

:

nocreate);

while(dfile.good())

{

dfile.read((char*)&pop,sizeofpop);

if(i==pop.getsno()||strcmp(pop.getname(),ch1)==0||

strcmp(pop.getspeciality(),ch2)==0)

{

cout<<"你要查找的人员信息如下:

"<

cout<

"年龄"<

setw(8)<<"村组名"<

pop.display();

i=0;

k=0;

m=1;

return;

}

}

if(m!

=1)cout<<"没有找到这名人员的信息!

"<

}

voidomit()//删除函数

{

intch;

cout<<"请输入要删除的人员的编号:

"<

cin>>ch;

ifstreamin("population.txt",ios:

:

nocreate);//打开文件1,读数据

ofstreamout("population1.txt",ios:

:

trunc);//打开文件写数据到文件2

while(in)//循环读数据

{

if(in.read((char*)&pop,sizeofpop))//读后存在pop变量里,读pop这么大小

if(ch!

=pop.getsno())//如果读出来的数据的pop取sno不等于刚才输入的学号,将这组数据写入文件

{

out.write((char*)&pop,sizeofpop);

}

else

cout<<"人员已成功删除!

"<

}

in.close();//关闭文件

out.close();

ifstreamifile("population1.txt",ios:

:

nocreate);//将文件2的内容弄到文件1上

ofstreamhfile("population.txt",ios:

:

trunc);

while(ifile)

{

if(ifile.read((char*)&pop,sizeofpop))

hfile.write((char*)&pop,sizeofpop);

}

ifile.close();

hfile.close();

}

voidchange()

{intp=0,l=0;

intch;

cout<<"请输入你要修改的人员编号:

";

cin>>ch;

fstreamefile("population.txt",ios:

:

in|ios:

:

out);

while(efile.good())

{efile.seekg(sizeof(pop)*p);

if(efile.read((char*)&pop,sizeofpop))

{

if(ch==pop.getsno())

{

pop.display();

pop.change();

efile.seekp(sizeof(pop)*p);

efile.write((char*)&pop,sizeofpop);

l++;

return;

}

}

p++;

}

efile.close();

if(l!

=1)

cout<<"没有你所要修改的学生信息!

"<

}

voidoutput()//输出函数

{

inti=0;

ifstreamcfile("population.txt",ios:

:

nocreate);//打开文件

while(cfile)//循环读文件的数据到类或结构体里

{

if(cfile.read((char*)&pop,sizeofpop))

{

pop.display();//调用pop的成员函数打印

i++;//为后面的一共文件里存了多少人的数据做累加,求人员个数。

}

}

cout<<"一共有"<

}

voidmenu()

{

cout<<"*人口户籍信息管理系统*"<

cout<<"*******************************************************"<

cout<<"0.退出管理系统"<

cout<<"1.人员信息录入"<

cout<<"2.人员信息查询"<

cout<<"3.人员信息删除"<

cout<<"4.人员信息修改"<

cout<<"5.人员信息输出"<

cout<<"*******************************************************"<

cout<<"请选择以上操作(0=======5)"<

}

voidselect()//选择菜单函数

{

intch;

while

(1)

{

cin>>ch;

switch(ch)

{

case0:

exit(0);menu();break;

case1:

input();menu();break;

case2:

search();menu();break;

case3:

omit();menu();break;

case4:

change();menu();break;

case5:

output();menu();break;

default:

menu();cout<<"输入无效请重新输入(0========5)"<

}

}

}

intmain()

{

intcount=0;

charpassword[5];//密码

charname[11];//用户名

cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"<

cout<<"┃★★★人口户籍信息管理系统★★★┃"<

cout<<"┃┃"<

cout<<"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"<

cout<<"*************************欢迎进入人口户籍信息管理系统*********************"<

cout<

cout<<"请输入用户名:

"<

cin>>name;

cout<<"请输入密码:

"<

while

(1)

{

cin>>password;

if(strcmp(password,"2010")==0)

{

cout<<"*您的密码正确!

!

-------------*"<

cout<

menu();

select();

}

else

{

count=count+1;

if(count==3)

{

cout<<"实在对不起,您已经输入错误3次了!

!

!

"<

cout<<"系统自动退出!

!

!

"<

break;

}

cout<<"对不起!

您的密码有误!

!

"<

cout<<"请重新输入密码"<

continue;

}

break;

}

cout<<"谢谢使用-----人口户籍信息管理系统!

!

!

"<

cout<<"再见!

!

"<

cout<<"*******************************************************************************"<

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1