房屋中介管理系统简易源代码教程文件.docx
《房屋中介管理系统简易源代码教程文件.docx》由会员分享,可在线阅读,更多相关《房屋中介管理系统简易源代码教程文件.docx(19页珍藏版)》请在冰豆网上搜索。
房屋中介管理系统简易源代码教程文件
//
(1)登录管理模块:
主要实现登录身份的管理、密码管理
#include
#include
#include
#include
usingnamespacestd;
classLogo
{
private:
stringname;
stringpassword;
public:
intin();//接受用户登录请求,决定是否允许登入
voidreg();//用户注册
voidprint();//用户登录界面提示
};
intLogo:
:
in()
{
stringn,p;
inti=0,j=0;//j值表示是否存在此用户
cout<<"输入姓名"<cin>>n;
cout<<"输入密码"<cin>>p;
ifstreaminput;
input.open("logoinfo.txt");
while(!
input.eof())
{
input>>name>>password;
if(name==n&&p==password)
{
i=1;
}
if(n==name)
j=1;
}
input.close();
if(j==0)
cout<<"用户不存在,请先注册!
"<returni;//i值为1表示登录成功;为0时表示登录失败
}
voidLogo:
:
reg()//
{
ofstreamoutput;
output.open("logoinfo.txt",ios:
:
out|ios:
:
app);
cout<<"输入你的姓名:
"<cin>>name;
cout<<"输入密码(有效位数8-16)"<cin>>password;
while(password.size()<8||password.size()>16)
{
cout<<"密码无效,请重新输入"<cin>>password;
}
output<output.close();
cout<<"注册成功"<}
voidLogo:
:
print()
{
cout<cout<<"请选择操作:
"<cout<<"\t\t\t1、用户登录"<cout<<"\t\t\t2、用户注册"<}
//
(2)房屋信息管理模块:
房屋信息的增、删、改、查。
//类House,name(物业名称),place(地段),type(户型),direction(朝向),area(面积),equip(房屋设施),price(价格),
//使用文件“houseinfo.txt”,"hsize.txt"
classHouse
{
private:
stringname,place,type,direction,equip;
floatarea,price;
public:
stringgetname1()
{returnHouse:
:
name;}
unsignedlonghsize;
voidadd();//增加一条房屋信息
voiddel();//删除一条房屋信息
voidalter();//修改一条房屋记录
voidselect();//查找房屋信息
voidset(stringn,stringp,stringt,stringd,stringe,floata,floatpr)
{
name=n;
place=p;
type=t;
direction=d;
equip=e;
area=a;
price=pr;
}
voidprint()
{
fstreaminout;
inout.open("houseinfo.txt",ios:
:
out|ios:
:
app);
inout<inout.close();
}
};
voidHouse:
:
add()//仅特殊用户能增加操作
{
fstreamisize;
isize.open("hsize.txt",ios:
:
in);
isize>>hsize;
isize.close();//对文件hsize.txt操作,读出房屋的信息条数;
fstreaminout;
inout.open("houseinfo.txt",ios:
:
out|ios:
:
app);
cout<<"输入物业名称:
"<cin>>name;
cout<<"输入房屋地段:
"<cin>>place;
cout<<"输入房屋户型:
"<cin>>type;
cout<<"输入房屋朝向:
"<cin>>direction;
cout<<"输入房屋设施:
"<cin>>equip;
cout<<"输入房屋面积:
"<cin>>area;
cout<<"输入房屋价格:
"<cin>>price;
inout<inout.close();
hsize++;
fstreamosize;
osize.open("hsize.txt",ios:
:
out);
osize<osize.close();//对文件hsize.txt操作,写入新的房屋的信息条数
cout<<"房屋信息更新完成。
"<}
voidHouse:
:
del()
{
stringisname;
fstreamisize;
isize.open("hsize.txt",ios:
:
in);
isize>>hsize;
isize.close();//对文件hsize.txt操作,读出房屋的信息条数;
cout<<"输入你需要删除的物业名字:
"<cin>>isname;
House*a=newHouse[hsize];
inti=0,flag=0;
ifstreaminput;
input.open("houseinfo.txt",ios:
:
in);
while(!
input.eof())
{
input>>name>>place>>type>>direction>>equip>>area>>price;
if(name==isname)
{
flag++;//flag记录要删除房屋的个数
continue;
}
else
{
a[i].set(name,place,type,direction,equip,area,price);
i++;
}
}
input.close();
ofstreamoutput;
output.open("houseinfo.txt",ios:
:
out);
for(i=0;ia[i].print();
output.close();
fstreamosize;
osize.open("hsize.txt",ios:
:
out);
osize<osize.close();
}
voidHouse:
:
alter()
{
cout<<"输入你需要更新的物业名字即"<House:
:
del();
cout<<"输入更新后房屋信息"<House:
:
add();
}
voidHouse:
:
select()
{
stringhname;
fstreaminout;
cout<<"输入你要查询的物业名称"<cin>>hname;
inout.open("houseinfo.txt",ios:
:
in);
while(!
inout.eof())
{
inout>>name>>place>>type>>direction>>equip>>area>>price;
if(name==hname)
{
cout<<"物业名称"<cout<<"房屋地段"<cout<<"房屋户型"<cout<<"房屋朝向"<cout<<"房屋设施"<cout<<"房屋面积"<
cout<<"房屋价格"<}
else
continue;
}
inout.close();
}
//(3)顾客管理模块,顾客信息的增、删、改、查。
//类Customercname(顾客姓名),tel(联系方式),
//使用文件“coustomerinfo.txt”,"csize.txt"
classCustomer
{
private:
stringcname,tel;
public:
stringgetname2()
{returnCustomer:
:
cname;}
unsignedlongcsize;
voidadd();//增加一条客户信息
voiddel();//删除一条客户信息
voidalter();//修改一条客户记录
voidselect();//查找客户信息
voidset(stringcn,stringte)
{
cname=cn;
tel=te;
}
voidprint()
{
fstreaminout;
inout.open("customerinfo.txt",ios:
:
out|ios:
:
app);
inout<inout.close();
}
};
voidCustomer:
:
add()//仅特殊用户能增加操作
{
fstreamisize;
isize.open("csize.txt",ios:
:
in);
isize>>csize;
isize.close();//对文件csize.txt操作,读出客户的信息条数;
fstreaminout;
inout.open("customerinfo.txt",ios:
:
out|ios:
:
app);
cout<<"输入客户名称:
"<cin>>cname;
cout<<"输入客户联系方式:
"<cin>>tel;
inout<inout.close();
csize++;
fstreamosize;
osize.open("csize.txt",ios:
:
out);
osize<osize.close();//对文件csize.txt操作,写入新的客户的信息条数
cout<<"客户信息更新完成。
"<}
voidCustomer:
:
del()
{
stringisname;
fstreamisize;
isize.open("csize.txt",ios:
:
in);
isize>>csize;
isize.close();//对文件csize.txt操作,读出客户的信息条数;
cout<<"输入你需要删除的客户名字:
"<cin>>isname;
Customer*b=newCustomer[csize];
inti=0,flag=0;
ifstreaminput;
input.open("customerinfo.txt",ios:
:
in);
while(!
input.eof())
{
input>>cname>>tel;
if(cname==isname)
{
flag++;//flag记录要删除客户的个数
continue;
}
else
{
b[i].set(cname,tel);
i++;
}
}
input.close();
ofstreamoutput;
output.open("customerinfo.txt",ios:
:
out);
for(i=0;ib[i].print();
output.close();
fstreamosize;
osize.open("csize.txt",ios:
:
out);
osize<osize.close();
}
voidCustomer:
:
alter()
{
cout<<"输入你需要更新的客户名字即"<Customer:
:
del();
cout<<"输入更新后客户信息"<Customer:
:
add();
}
voidCustomer:
:
select()
{
stringfind;
fstreaminout;
cout<<"输入你要查询的客户名称"<cin>>find;
inout.open("customerinfo.txt",ios:
:
in);
while(!
inout.eof())
{
inout>>cname>>tel;
if(cname==find)
{
cout<<"客户姓名"<cout<<"客户联系方式"<}
else
continue;
}
inout.close();
}
//(4)统计模块tj类,size统计数
classtj
{
private:
intsize;
public:
voidhsum()//统计房屋总数
{
fstreaminput;
input.open("houseinfo.txt",ios:
:
in);
input>>size;
input.close();
cout<<"房屋总数为:
"<}
voidcsum()//统计顾客总数
{
fstreaminput;
input.open("customer.txt",ios:
:
in);
input>>size;
input.close();
cout<<"顾客的总数为:
"<}
};
intmain()
{
Logocustomer;
inti,flag1,flag2,flag3,flag4,flag5,flag6,flag7;
customer.print();//登录管理提示
cin>>flag1;
if(flag1==1)
{
flag2=customer.in();//用户登录
while(flag2==0)
{
cout<<"\t\t\t您登录失败。
"<cout<<"\t\t\t3退出系统"<cout<<"\t\t\t其他数字重新登录"<cout<<"\t\t\t请选择:
"<cin>>i;
if(i==3)
return0;
flag2=customer.in();
}
}
elseif(flag1==2)
{
customer.reg();//新用户注册
cout<<"你将退出系统,如需其他操作请重新登录系统"<return0;
}
else{
cout<<"输入有误"<return0;
}
system("cls");
cout<<"恭喜您登录成功!
"<cout<"<cout<<"\t\t\t1表示房屋信/客户息查询;"<cout<<"\t\t\t2表示房屋/顾客信息进行增删改;"<cout<<"\t\t\t3表示进行相关信息统计"<cin>>flag3;
switch(flag3)
{
case1:
system("cls");
cout<<"欢迎进入信息查询系统"<cout<"<cout<<"\t\t\t1表示房屋"<cout<<"\t\t\t2表示顾客"<cin>>flag4;
if(flag4==1)
{
HouseH;
H.select();
}
elseif(flag4==2)
{
CustomerC;
C.select();
}
elsecout<<"输入错误!
"<break;
case2:
{
cout<"<cout<<"\t\t\t1表示对房屋操作"<cout<<"\t\t\t2表示对顾客操作"<cin>>flag5;
cout<"<cout<<"\t\t\t1表示信息增加"<cout<<"\t\t\t2表示修改信息"<cout<<"\t\t\t3表示删除信息"<cin>>flag6;
if(flag5==1)
{
HouseH1;
if(flag6==1)
H1.add();
elseif(flag6==2)
H1.alter();
elseif(flag6==3)
H1.del();
elsecout<<"输入错误!
"<}
elseif(flag5==2)
{
CustomerC1;
if(flag6==1)
C1.add();
elseif(flag6==2)
C1.alter();
elseif(flag6==3)
C1.del();
elsecout<<"输入错误!
"<}
elsecout<<"输入错误!
"<break;
}
case3:
{
system("cls");
tjT;
cout<<"\t\t\t1表示对房屋总数进行统计"<cout<<"\t\t\t2表示对顾客总数统计"<cin>>flag7;
switch(flag7)
{
case1:
T.hsum();
break;
case2:
T.csum();
break;
default:
cout<<"输入错误!
"<}
}
break;
default:
cout<<"error!
"<}
return0;
}