小区物业管理系统 C++ 课程设计.docx
《小区物业管理系统 C++ 课程设计.docx》由会员分享,可在线阅读,更多相关《小区物业管理系统 C++ 课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
![小区物业管理系统 C++ 课程设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/20/c114bc8b-ed1b-4202-ae0b-943163453fbd/c114bc8b-ed1b-4202-ae0b-943163453fbd1.gif)
小区物业管理系统C++课程设计
#include
#include
#include
#include
#include
usingnamespacestd;
classlivers//livers类
{private:
charname[20];//姓名
charsex;
charroom_num[10];
charparking[10];
charID_num[20];
charphone_num[20];
public:
livers(){}
livers(charn[20],chars,charroom[10],charpark[10],charphone[20],charID[20])
{strcpy(name,n);
sex=s;
strcpy(room_num,room);
strcpy(parking,park);
strcpy(phone_num,phone);
strcpy(ID_num,ID);}
friendvoidmenu();//友元函数
};
voidkey()
{charmima[20],key[20];charyu_mima[20]="12345";
intflag;intp;charw;
ifstreamin;
ofstreamout;
fstreamf;//输入输出对象
cout<<"******************************************"<cout<<"欢迎登录小区物业管理系统"<cout<<"******************************************"<do{flag=0;
cout<<"请输入管理员密钥:
"<in.clear();
in.open("E:
\\c.dat",ios:
:
in);
if(in.fail())//首次登录
{cout<"<cout<<"请输入:
";
cin>>mima;
cout<if(strcmp(yu_mima,mima)==0)
{flag=1;
cout<<"密码正确!
请输入下一步指令:
"<if(!
in.fail())//非首次登陆
{in>>key;
cin>>mima;
if(strcmp(key,mima)==0)
{flag=1;
cout<<"密码正确!
请输入下一步指令:
"<}
in.close();
if(flag==0)
cout<<"密码有误,请重新输入"<}while(flag==0);
cout<<"*************************"<cout<<"*0、修改密码*"<cout<<"*1、进入系统*"<cout<<"*2、退出系统 *"<cout<<"*************************"<do{
do
{cout<<"请输入您的指令(0~2):
"<cin>>p;
switch(p)
{
case0:
//修改密码
{cout<<"请输入新密码:
"<cin>>key;
out.open("E:
\\c.dat",ios:
:
out);
out.clear();
out<out.close();}break;
case1:
menu();break;//进入系统
case2:
//退出系统
{cout<<"谢谢使用,小区物业管理系统!
"<Seeyounexttime!
"<exit(0);}break;
default:
cout<<"输入指令有误,请重新输入:
"<}
}while(p<0||p>2);
cout<<"您想继续进行其他操作吗?
y/n:
"<do{cin>>w;
cout<if(w=='n')exit(0);
if(w!
='y'&&w!
='n')
cout<<"指令错误!
请重新输入!
"<}while(flag==0);
if(w=='y')
{cout<<"请输入操作代码:
0修改密码"<cout<<"1进入系统"<cout<<"2退出系统"<}while(w=='y');
}//密钥函数
voidmenu()
{cout<<"******************************************"<cout<<"小区物业管理系统"<cout<<"******************************************"<cout<<"**************************"<cout<<"*主菜单命令如下所示:
*"<cout<<"*1、输入数据*"<cout<<"*2、增加数据*"<cout<<"*3、修改数据 *"<cout<<"*4、信息查询*"<cout<<"*5、信息浏览*"<cout<<"*6、信息删除*"<cout<<"*7、退出系统*"<cout<<"**************************"<cout<<"请输入您的指令数字(1~7)"<charp;charw;
liversliv[50];
livers*s[50];
ifstreamin;
ofstreamout;
fstreamf;//输入输出对象
inti=0;
intj=0;
intflag=0;
do//flag判断输入是否有效
{
cin>>p;
if(p>='1'&&p<='7')
flag=1;
else
cout<<"指令错误!
请重新输入:
"<}while(flag==0);
do{//最外层循环
switch(p)//接收功能选项
{
case'1':
//信息输入
{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;
out.open("E:
\\a.dat",ios:
:
out);
do{
cout<<"请输入住户姓名:
";
cin>>name;
cout<";
cin>>sex;
cout<";
cin>>room_num;
cout<";
cin>>parking;
cout<";
cin>>phone_num;
cout<";
cin>>ID_num;
cout<out<cout<<"数据输入成功,想继续输入吗?
y/n:
"<cin>>c;
cout<do
{
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<charc;
cin>>c;}
elseflag=1;
}while(flag==0);
}while(c=='y');
out.close();
break;
}
case'2':
//增加数据
{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;
out.open("E:
\\a.dat",ios:
:
app);
do
{
cout<<"请输入您要增加的住户的姓名:
"<cin>>name;
cout<";
cin>>sex;
cout<";
cin>>room_num;
cout<";
cin>>parking;
cout<";
cin>>phone_num;
cout<";
cin>>ID_num;
cout<out<cout<<"数据添加成功,想继续添加吗?
y/n:
"<cin>>c;
cout<if(c=='n')break;
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<cin>>c;}
}while(c=='y');
out.close();
break;
}
case'3':
//修改数据
{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;
charna[20],s,room[10],park[10],phone[20],ID[20];
do
{intflag=0;
cout<<"请输入您要修改的住户的姓名:
"<cin>>na;
cout<f.open("E:
\\a.dat",ios:
:
in|ios:
:
out);
f.seekg(0,ios:
:
beg);
f.clear();
while(!
f.eof())
{f>>name;
if(strcmp(name,na)==0)
{flag=1;
cout<<"请输入您要修改的住户的姓名:
"<cin>>na;
cout<<"请输入新房间号:
";
cin>>room;
cout<";
cin>>s;
cout<";
cin>>room;
cout<";
cin>>park;
cout<";
cin>>phone;
cout<";
cin>>ID;
cout<sex=s;
strcpy(room_num,room);
strcpy(parking,park);
strcpy(ID_num,ID);
strcpy(phone_num,phone);
f.seekp(-20l,ios:
:
cur);
f<cout<<"修改成功!
"<}
f.close();
if(flag==0)
cout<<"您要修改的学生不存在!
"<cout<<"您想继续修改吗?
y/n:
"<cin>>c;
cout<if(c=='n')break;
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<cin>>c;}
}while(c=='y');
break;
}
case'4':
//信息查询
{charname[20],sex,room_num[10],room[10],parking[10],phone_num[20],ID_num[20];
cout<<"请选择您要进行查询的方式:
"<intk;
cin>>k;
switch(k)
case1:
//按住户名查询
{charna[20];charc;
do{
in.open("E:
\\a.dat",ios:
:
in);
in.seekg(0,ios:
:
beg);
in.clear();
intflag=0;
cout<<"请输入你要查询的住户姓名:
"<cin>>na;
cout<while(!
in.eof())
{in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;
if(strcmp(name,na)==0)
{flag=1;
cout<<"您要查询的住户:
"<"<cout<<"姓名性别房间号车库号电话号码身份证号"<cout<(2)<}
in.close();
if(flag==0)
cout<<"对不起!
您要查询的住户不存在!
"<cout<<"您想继续查询吗?
y/n:
";
cin>>c;
cout<if(c=='n')break;
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<cin>>c;}
}while(c=='y');
break;
case2:
//按房间号查询
{
do{
intflag=0;
cout<<"请输入你要查询的房间号:
"<cin>>room;
cout<in.open("E:
\\a.dat",ios:
:
in);
in.seekg(0,ios:
:
beg);
in.clear();
while(!
in.eof())
{in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;
if(strcmp(room_num,room)==0)
{flag=1;
cout<<"您要查询的住户:
"<"<cout<<"姓名性别房间号车库号电话号码身份证号"<cout<(2)<}
in.close();
if(flag==0)
cout<<"对不起!
您要查询的住户不存在!
"<cout<<"您想继续查询吗?
y/n:
";
charc;
cin>>c;
cout<if(c=='n')break;
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<cin>>c;}
}while(c=='y');
break;
default:
cout<<"对不起,您输入的指令有误:
";}break;
}break;
case'5':
//信息浏览
{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20];
in.open("E:
\\a.dat",ios:
:
in);
in.seekg(0,ios:
:
beg);
in.clear();
if(in.get()==EOF){cout<<"文件中已无数据"<cout<<"本系统所有学生数据如下:
"<cout<<"姓名性别房间号车库号电话号码身份证号"<while(!
in.eof())
{in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;
cout<(2)<}
in.close();
break;
}
case'6':
//信息删除
{charname[20],na[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;
intk;
do
{intn=0;intflag=0;
cout<<"请输入您要删除的学生的姓名:
"<cin>>na;
cout<in.clear();
in.open("E:
\\a.dat",ios:
:
in);
in.seekg(0,ios:
:
beg);
while(!
in.eof())
{in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;
s[n]=newlivers(name,sex,room_num,parking,phone_num,ID_num);
liv[n]=*s[n];
deletes[n];
n++;}
in.close();
for(i=0;i{if(strcmp(liv[i].name,na)==0)
{flag=1;k=i;}
}
if(flag==1)
{out.open("E:
\\a.dat",ios:
:
out);
out.seekp(0,ios:
:
beg);
if(n>1)
{
for(i=0;iout<(2)<for(i=k+1;iout<(2)<cout<<"信息删除成功"<}
if(n=1){}
out.close();
}
else
cout<<"您要删除的住户不存在!
"<cout<<"您想继续删除吗?
y/n:
"<cin>>c;
cout<if(c=='n')break;
if(c!
='y'&&c!
='n')
{cout<<"指令错误!
请重新输入!
"<cin>>c;}
}while(c=='y');
break;
}
case'7':
//退出
{cout<<"Byebye!
Seeyounexttime."<cout<<"王建制作"<}//以上为menu菜单中switch控制语句
cout<<"您想继续进行其他操作吗?
y/n:
"<intflag=0;
do{cin>>w;
cout<if(w=='n')exit(0);
if(w!
='y'&&w!
='n')
cout<<"指令错误!
请重新输入!
"<else
flag=1;
}while(flag==0);
if(w=='y')
{cout<<"请输入操作代码:
1输入数据"<cout<<"2增加数据"<cout<<"3修改数据"<