房屋中介管理系统C++.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date房屋中介管理系统C+房屋中介管理系统C+综 合 程 序 设 计(房屋中介管理系统)编辑小组成员:龚向文、周大量、郑传周 (输配电1班)2012-09-13各人负责项目:龚向文01511516:顾客信息(Customer),房屋信息(House)郑传周01511515:登录方式(Logo)周大量01511502:统计资料(sta)王星峰01511509:主函数(main)1*第一部分:-请选择操作: 1、 用户登录2、 用户注册选择2,用户注册。输入你的姓名: 输入密码<有效位数8-16> 若密码不足8位或超出16位则:密码无效,请重新输入。注册完毕,选择1登录。输入用户名、密码。第二部分:登录成功,进入主菜单。 <主菜单>请选择操作类型:1、 表示房屋/客户信息查询2、 表示房屋/顾客信息进行增删改3、 表示进行相关信息统计第三部分:主菜单:<表示房屋/客户信息查询>选择1,进入信息查询系统输入查询的方面:1、 表示房屋2、 表示顾客选择1:输入你要查询的物业名称: 选择2:输入你要查询的客户名称: 主菜单:<表示房屋/顾客信息进行增删改>选择2选择操作:1、 表示对房屋操作2、 表示对顾客操作选择1输入操作类型:1、 表示信息增加2、 表示修改信息3、 表示删除信息选择1输入物业名称: 输入房屋地段: 输入房屋户型: 输入房屋朝向: 输入房屋设施: 输入房屋面积: 输入房屋价格: 完毕!在此的基础上,输入操作类型,选择2表示修改信息。选择2:输入你需要更新的物业名字: 在此的基础上,输入操作类型,选择3表示删除信息。选择3:输入你需要删除的物业名字: 完毕!在选择操作,选择2表示对顾客操作。选择2:输入操作类型:1、 表示信息增加2、 表示修改信息3、 表示删除信息 在输入操作类型中:选择1表示信息增加。选择1输入客户名称: 输入客户联系方式: 在输入操作类型中:选择2表示修改信息。选择2输入你需要更新的客户名字即: 在输入操作类型中:选择3表示删除信息。选择3 输入你要删除的客户名称: 完毕!主菜单: <表示进行相关信息统计>选择操作:1、 表示对房屋总数的统计2、 表示对顾客总数的统计选择1,表示对房屋总数的统计。选择2,表示对顾客总数的统计完毕!程序代码,及其文字说明:/(1)登录管理模块:主要实现登录身份的管理、密码管理#include <iostream>#include <fstream>#include <string>#include <iomanip>using namespace std;class Logoprivate:string name;string password;public:int in();/接受用户登录请求,决定是否允许登入void reg(); /用户注册void print();/用户登录界面提示;int Logo:in()string n,p;int i=0,j=0;/j值表示是否存在此用户cout<<"输入姓名"<<endl;cin>>n;cout<<"输入密码"<<endl;cin>>p;ifstream input;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<<"用户不存在,请先注册!"<<endl;return i;/i值为1表示登录成功;为0时表示登录失败void Logo:reg ()/ ofstream output;output.open ("logoinfo.txt",ios:out|ios:app);cout<<"输入你的姓名:"<<endl;cin>>name;cout<<"输入密码(有效位数8-16)"<<endl;cin>>password;while(password.size ()<8|password.size ()>16)cout<<"密码无效,请重新输入"<<endl;cin>>password;output<<name<<' '<<password<<endl;output.close ();cout<<"注册成功"<<endl;void Logo:print ()cout<<setw(40)<<"欢迎使用房屋中介管理系统"<<endl;cout<<"请选择操作:"<<endl;cout<<"ttt1、用户登录"<<endl;cout<<"ttt2、用户注册"<<endl;/(2)房屋信息管理模块:房屋信息的增、删、改、查。/类House,name(物业名称),place(地段),type(户型),direction(朝向),area(面积),equip(房屋设施),price(价格),/使用文件“houseinfo.txt”,"hsize.txt"class Houseprivate:string name,place,type,direction,equip;float area,price;public: string getname1()returnHouse:name;unsigned long hsize;void add();/增加一条房屋信息void del();/删除一条房屋信息void alter();/修改一条房屋记录void select(); /查找房屋信息void set(string n,string p,string t,string d,string e,float a,float pr)name=n;place=p;type=t; direction=d; equip=e;area=a;price=pr;void print()fstream inout;inout.open("houseinfo.txt",ios:out|ios:app);inout<<name<<' '<<place<<' '<<type<<' '<<direction<<' '<<equip<<' '<<area<<' '<<price<<endl;inout.close();void House:add ()/仅特殊用户能增加操作fstream isize;isize.open ("hsize.txt",ios:in);isize>>hsize;isize.close();/对文件hsize.txt操作,读出房屋的信息条数;fstream inout;inout.open ("houseinfo.txt",ios:out|ios:app);cout<<"输入物业名称:"<<endl;cin>>name;cout<<"输入房屋地段:"<<endl;cin>>place;cout<<"输入房屋户型:"<<endl;cin>>type;cout<<"输入房屋朝向:"<<endl;cin>>direction;cout<<"输入房屋设施:"<<endl;cin>>equip;cout<<"输入房屋面积:"<<endl;cin>>area;cout<<"输入房屋价格:"<<endl;cin>>price;inout<<name<<' '<<place<<' '<<type<<' '<<direction<<' '<<equip<<' '<<area<<' '<<price<<endl;inout.close ();hsize+;fstream osize;osize.open ("hsize.txt",ios:out);osize<<hsize;osize.close ();/对文件hsize.txt操作,写入新的房屋的信息条数cout<<"房屋信息更新完成。"<<endl;void House:del()string isname;fstream isize;isize.open ("hsize.txt",ios:in);isize>>hsize;isize.close();/对文件hsize.txt操作,读出房屋的信息条数;cout<<"输入你需要删除的物业名字:"<<endl;cin>>isname;House *a=new Househsize;int i=0,flag=0;ifstream input;input.open ("houseinfo.txt",ios:in);while(!input.eof ()input>>name>>place>>type>>direction>>equip>>area>>price;if(name=isname)flag+;/flag记录要删除房屋的个数continue;elseai.set (name,place,type,direction,equip,area,price);i+;input.close();ofstream output;output.open("houseinfo.txt",ios:out);for(i=0;i<hsize-flag;i+)ai.print();output.close();fstream osize;osize.open ("hsize.txt",ios:out);osize<<hsize-flag;osize.close ();void House:alter()cout<<"输入你需要更新的物业名字即"<<endl;House:del();cout<<"输入更新后房屋信息"<<endl;House:add ();void House:select()string hname;fstream inout;cout<<"输入你要查询的物业名称"<<endl;cin>>hname;inout.open ("houseinfo.txt",ios:in);while(!inout.eof ()inout>>name>>place>>type>>direction>>equip>>area>>price;if(name=hname)cout<<"物业名称"<<name<<endl; cout<<"房屋地段"<<place<<endl; cout<<"房屋户型"<<type<<endl; cout<<"房屋朝向"<<direction<<endl; cout<<"房屋设施"<<equip<<endl; cout<<"房屋面积"<<area<<endl; cout<<"房屋价格"<<price<<endl;else continue;inout.close ();/(3)顾客管理模块,顾客信息的增、删、改、查。/类Customer cname(顾客姓名),tel(联系方式),/使用文件“coustomerinfo.txt”,"csize.txt"class Customerprivate:string cname,tel;public: string getname2()returnCustomer:cname;unsigned long csize;void add();/增加一条客户信息void del();/删除一条客户信息void alter();/修改一条客户记录void select(); /查找客户信息 void set(string cn,string te)cname=cn;tel=te;void print()fstream inout;inout.open("customerinfo.txt",ios:out|ios:app);inout<<cname<<' '<<tel<<endl;inout.close();void Customer:add ()/仅特殊用户能增加操作fstream isize;isize.open ("csize.txt",ios:in);isize>>csize;isize.close();/对文件csize.txt操作,读出客户的信息条数;fstream inout;inout.open ("customerinfo.txt",ios:out|ios:app);cout<<"输入客户名称:"<<endl;cin>>cname;cout<<"输入客户联系方式:"<<endl;cin>>tel; inout<<cname<<' '<<tel<<endl;inout.close ();csize+;fstream osize;osize.open ("csize.txt",ios:out);osize<<csize;osize.close ();/对文件csize.txt操作,写入新的客户的信息条数cout<<"客户信息更新完成。"<<endl;void Customer:del()string isname;fstream isize;isize.open ("csize.txt",ios:in);isize>>csize;isize.close();/对文件csize.txt操作,读出客户的信息条数;cout<<"输入你需要删除的客户名字:"<<endl;cin>>isname; Customer *b=new Customercsize;int i=0,flag=0;ifstream input;input.open ("customerinfo.txt",ios:in);while(!input.eof ()input>>cname>>tel;if(cname=isname)flag+;/flag记录要删除客户的个数continue;elsebi.set (cname,tel);i+;input.close();ofstream output;output.open("customerinfo.txt",ios:out);for(i=0;i<csize-flag;i+)bi.print();output.close();fstream osize;osize.open ("csize.txt",ios:out);osize<<csize-flag;osize.close ();void Customer:alter()cout<<"输入你需要更新的客户名字即"<<endl;Customer:del();cout<<"输入更新后客户信息"<<endl;Customer:add ();void Customer:select()string find;fstream inout;cout<<"输入你要查询的客户名称"<<endl;cin>>find;inout.open ("customerinfo.txt",ios:in);while(!inout.eof ()inout>>cname>>tel;if(cname=find)cout<<"客户姓名"<<cname<<endl; cout<<"客户联系方式"<<tel<<endl; else continue;inout.close ();/(4)统计模块sta类,size统计数class staprivate: int size;public: void hsum() /统计房屋总数 fstream input; input.open ("houseinfo.txt",ios:in); input>>size; input.close (); cout<<"房屋总数为:"<<size<<endl; void csum()/统计顾客总数 fstream input; input.open ("customer.txt",ios:in); input>>size; input.close (); cout<<"顾客的总数为:"<<size<<endl; ;int main()Logo customer;int i,flag1,flag2,flag3,flag4,flag5,flag6,flag7;customer.print ();/登录管理提示cin>>flag1;if(flag1=1)flag2=customer.in ();/用户登录while(flag2=0)cout<<"ttt您登录失败。"<<endl;cout<<"ttt3退出系统"<<endl;cout<<"ttt其他数字重新登录"<<endl;cout<<"ttt请选择:"<<endl;cin>>i;if(i=3)return 0;flag2=customer.in ();else if(flag1=2)customer.reg ();/新用户注册cout<<"你将退出系统,如需其他操作请重新登录系统"<<endl;return 0;else cout<<"输入有误"<<endl;return 0;system("cls");cout<<"恭喜您登录成功!"<<endl;cout<<setw(40)<<"(主菜单)请选择操作类型:"<<endl;cout<<"ttt1表示房屋/客户信息查询;"<<endl;cout<<"ttt2表示房屋/顾客信息进行增删改;"<<endl;cout<<"ttt3表示进行相关信息统计"<<endl;cin>>flag3;switch(flag3)case 1:system("cls");cout<<"欢迎进入信息查询系统"<<endl;cout<<setw(40)<<"输入查询的方面:"<<endl;cout<<"ttt1表示房屋"<<endl;cout<<"ttt2表示顾客"<<endl;cin>>flag4;if(flag4=1)House H;H.select ();else if(flag4=2)Customer C;C.select ();else cout<<"输入错误!"<<endl;break;case 2:cout<<setw(35)<<"选择操作:"<<endl;cout<<"ttt1表示对房屋操作"<<endl;cout<<"ttt2表示对顾客操作"<<endl;cin>>flag5;cout<<setw(37)<<"输入操作类型:"<<endl;cout<<"ttt1表示信息增加"<<endl;cout<<"ttt2表示修改信息"<<endl;cout<<"ttt3表示删除信息"<<endl;cin>>flag6;if(flag5=1)House H1;if(flag6=1)H1.add ();else if (flag6=2)H1.alter ();else if(flag6=3)H1.del ();else cout<<"输入错误!"<<endl;else if(flag5=2)Customer C1;if(flag6=1)C1.add ();else if (flag6=2) C1.alter ();else if(flag6=3)C1.del ();else cout<<"输入错误!"<<endl;else cout<<"输入错误!"<<endl;break;case 3:system("cls");sta T;cout<<"ttt1表示对房屋总数的统计"<<endl;cout<<"ttt2表示对顾客总数的统计"<<endl;cin>>flag7;switch(flag7)case 1:T.hsum ();break;case 2:T.csum ();break;default: cout<<"输入错误!"<<endl;break;default:cout<<"error!"<<endl;return 0;-