《房屋租售管理系统c程序设计.doc》由会员分享,可在线阅读,更多相关《房屋租售管理系统c程序设计.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流房屋租售管理系统c程序设计.精品文档.程序设计报告( 2012 / 2013 学年 第 一 学期)题 目: 房屋租售管理系统 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 2012.11.02 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格房屋租售管理系统一、
2、 课题内容和要求 该系统要求建立某房屋租售中介管理系统,并实现输入口令进入系统、基础信息建立、客户统计、房源排序、销售业绩及佣金收入统计、相关文件存盘功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。二、需求分析模块一:基础信息管理,该模块实现员工、楼盘及门店信息的查看与建立;模块二:客户管理,该模块实现客户信息的建立、查看与各类客户数量统计;模块三:房源查看,该模块实现房源信息按租金升序、售金升序、租金降序、售金降序显示;模块四:统计分析,该模块实现某一指定时间段内销售情况及佣金收入统计;模块五:保存文件,该模块实现各类相关文件的保存;模块六:退出系统,该模块实现
3、本系统的退出;三、概要设计 开始输入密码密码正确确NY进入系统统计分析保存文件退出系统房源查看客户管理基础信息管理123450结束1.基础信息管理:包括楼盘信息查询、员工信息查询、门店信息查询、楼盘信息建立、员工信息建立、门店信息建立、返回上级菜单几项功能;2.客户管理:包括客户信息查询、客户信息建立、客户数量统计及返回上级菜单几项功能;3.房源查看:包括按租金升序显示房源信息、按租金降序显示房源信息、按售金升序显示房源信息、按售金降序显示房源信息及返回上级菜单几项功能;4.统计分析:包括销售情况及佣金收入统计及返回上级菜单几项功能;5.保存文件:保存所有相关文件;6退出系统:退出房屋租售管理
4、系统。四、源程序代码 #include#include#include#include#include#includeusing namespace std;class Date /定义日期类protected:int year; /年int month; /月int day; /日public:void Set(int,int,int); /设置日期void Input(); /输入日期bool operator(Date ob)const; /重载运算,实现日期比较int GetYear(); /返回年int GetMonth(); /返回月int GetDay(); /返回日 /Date
5、类函数的实现void Date:Set(int y,int m,int d)year=y;month=m;day=d;void Date:Input()coutyear;coutmonth;coutday;bool Date:operator(Date ob)constif(yearob.year)return true;else if(year=ob.year)if(monthob.month)return true;else if(month=ob.month)if(dayob.day)return true;elsereturn false;else return false;elser
6、eturn false;int Date:GetYear()return year;int Date:GetMonth()return month;int Date:GetDay()return day;class Floor /定义楼盘类protected:string Num; /楼盘编号 double Size; /楼盘面积 double Hire; /楼盘租金 double Buy; /楼盘售金 bool State; /楼盘状态(1-售,0-租)Date Da; /租出/售出日期public:Floor(string nu,double si,double hi,double bu,
7、bool st,int y,int m,int d); /构造函数void Input(); /输入单个楼盘信息 bool operator(Floor ob)const; /重载运算,set容器要求元素之间满足该关系string GetNum(); /返回楼盘编号double GetSize(); /返回楼盘面积 double GetHire(); /返回楼盘租金double GetBuy(); /返回楼盘售金bool GetState(); /返回楼盘状态Date GetDa(); /返回楼盘租出/售出日期/Floor类函数的实现Floor:Floor(string nu,double s
8、i,double hi,double bu,bool st,int y,int m,int d)Num=nu;Size=si;Hire=hi;Buy=bu;State=st;Da.Set(y,m,d);void Floor:Input()coutNum;coutendl;coutSize;coutendl;coutHire;coutendl;coutBuy;coutendl;coutState;coutendl;cout租出/售出日期: n;Da.Input();bool Floor:operator(Floor ob)constif(Numob.Num)return true;elseret
9、urn false;string Floor:GetNum()return Num;double Floor:GetSize()return Size;double Floor:GetHire()return Hire;double Floor:GetBuy()return Buy;bool Floor:GetState()return State;Date Floor:GetDa()return Da;class Staff /定义员工类protected:string Number;/员工编号 string Name; /员工姓名char Sex; /员工性别string Tel; /员工
10、电话 double Commission; /员工工资public:Staff(string num,string na,char se,string te,double co); /构造函数 void Input(); /输入员工信息bool operator(Staff ob)const; /重载运算,set容器要求元素之间满足该关系string GetNumber(); /返回员工编号string GetName(); /返回员工姓名char GetSex(); /返回员工性别string GetTel(); /返回员工电话double GetCommission(); /返回员工工资/
11、Staff类函数的实现Staff:Staff(string num,string na,char se,string te,double co)Number=num;Name=na;Sex=se;Tel=te;Commission=co;void Staff:Input()coutName;coutNumber;coutSex;coutTel;coutCommission;bool Staff:operator(Staff ob)constif(Numberob.Number)return true;elsereturn false;string Staff:GetNumber()return
12、 Number;string Staff:GetName()return Name;char Staff:GetSex()return Sex;string Staff:GetTel()return Tel;double Staff:GetCommission()return Commission;class Store /定义门店类protected:string StoNum; /门店编号int StaffNum; /员工数量int FloorNum; /负责楼盘数量public:Store(string sn,int st,int fl); /构造函数void Input(); /输入门
13、店信息bool Store:operator(Store ob)const; /重载运算,set容器要求元素之间满足该关系string GetStoNum(); /返回门店编号int GetStaffNum(); /返回员工数量int GetFloorNum(); /返回负责楼盘数量/Store类函数的实现Store:Store(string sn,int st,int fl)StoNum=sn;StaffNum=st;FloorNum=fl;void Store:Input()coutStoNum;coutendl;coutStaffNum;coutendl;coutFloorNum;cou
14、tendl;bool Store:operator(Store ob)constif(StoNumob.StoNum)return true;elsereturn false;string Store:GetStoNum()return StoNum;int Store:GetStaffNum()return StaffNum;int Store:GetFloorNum()return FloorNum;class Client /定义客户类protected:string name; /客户姓名string number; /客户编号char sex; /客户性别string tel; /客
15、户电话int type; /客户类别public:Client(string na,string nu,char se,string te,int ty); /构造函数void Input(); /输入客户信息bool Client:operator(Client ob)const; /重载运算,set容器要求元素之间满足该关系string GetName(); /返回客户姓名string GetNumber(); /返回客户编号char GetSex(); /返回客户性别string GetTel(); /返回客户电话int GetType(); /返回客户类型/Client类函数实现Cli
16、ent:Client(string na,string nu,char se,string te,int ty)name=na;number=nu;sex=se;tel=te;type=ty;void Client:Input()coutname;coutnumber;coutsex;couttel;couttype;bool Client:operator(Client ob)constif(numberob.number)return true;elsereturn false;string Client:GetName()return name;string Client:GetNumb
17、er()return number;char Client:GetSex()return sex;string Client:GetTel()return tel;int Client:GetType()return type;class Adminprotected:set fl; /Floor类数据集set sta; /Staff类数据集set sto; /Store类数据集set cl; /Client类数据集 public:Admin(); /构造函数void ReadFloor(); /读取楼盘文件void ReadStaff(); /读取员工文件void ReadStore();
18、/读取门店文件void ReadClient(); /读取客户文件void ShowFloorInfo(); /显示所有楼盘信息void ShowStaffInfo(); /显示所有员工信息void AddFloor(); /添加楼盘信息void AddStaff(); /添加员工信息void ShowStoreInfo(); /显示所有门店信息void AddStore(); /添加门店信息void ShowClientInfo(); /显示所有客户信息void AddClient(); /添加客户信息void HireRise(); /按租金升序显示所有楼盘信息void HireFall(
19、); /按租金降序显示所有楼盘信息void BuyRise(); /按售金升序显示所有楼盘信息void BuyFall(); /按售金降序显示所有楼盘信息void SellSta(); /某段时间内销售及佣金收入统计void ClientSta(); /客户信息统计void SaveFloor(); /楼盘信息存档void SaveStaff(); /员工信息存档void SaveStore(); /门店信息存档void SaveClient(); /客户信息存档Admin:Admin() /定义对象的同时读取文件ReadFloor();ReadStaff();ReadStore();Read
20、Client();void Admin:ReadFloor()ifstream in(C:FloorInfo.txt);if(!in)coutCannot open the file:FloorInfo.txtn;return ;string Num;double Size;double Hire;double Buy;bool State;int y;int m;int d;set:iterator p=fl.begin();inNumSizeHireBuyStateymd;while(!in.eof()Floor ob(Num,Size,Hire,Buy,State,y,m,d);fl.i
21、nsert(ob);inNumSizeHireBuyStateymd;in.close();return;void Admin:ReadStaff()ifstream in(C:StaffInfo.txt);if(!in)coutCannot open the file:StaffInfo.txtn;return ;string Number;string Name;char Sex;string Tel;double Commission;set:iterator p=sta.begin();inNumberNameSexTelCommission;while(!in.eof()Staff
22、ob(Number,Name,Sex,Tel,Commission);sta.insert(ob);inNumberNameSexTelCommission;in.close();return;void Admin:ReadStore()ifstream in(C:StoreInfo.txt);if(!in)coutCannot open the file:StoreInfo.txtn;return ;string StoNum; int StaffNum; int FloorNum;set:iterator p=sto.begin();inStoNumStaffNumFloorNum;whi
23、le(!in.eof()Store ob(StoNum,StaffNum,FloorNum);sto.insert(ob);inStoNumStaffNumFloorNum;in.close();return;void Admin:ReadClient()ifstream in(C:ClientInfo.txt);if(!in)coutCannot open the file:ClientInfo.txtn;return ;string name; string number; char sex; string tel; int type;set:iterator p=cl.begin();i
24、nnumbernamesexteltype;while(!in.eof()Client ob(name,number,sex,tel,type);cl.insert(ob);innumbernamesexteltype;in.close();return;void Admin:ShowFloorInfo()system(cls);cout楼盘编号 楼盘面积 楼盘租金 楼盘售金 楼盘状态 租出/售出日期n;set:iterator p=fl.begin();while(p!=fl.end()cout GetNum()t GetSize()t GetHire()t GetBuy()GetState
25、()cout售t ;elsecoutGetDa();coutbi.GetYear()-bi.GetMonth()-bi.GetDay()endl;p+;void Admin:ShowStaffInfo()system(cls);cout员工编号t员工姓名t员工性别t员工电话t员工工资n;set:iterator p=sta.begin();while(p!=sta.end()cout GetNumber()ttGetName()GetSex()=f)cout男tt;elsecout女tt;coutGetTel()t GetCommission()n;p+;void Admin:ShowStor
26、eInfo()system(cls);cout门店编号 员工数量 负责楼盘数量n;set:iterator p=sto.begin();while(p!=sto.end()cout GetStoNum()t GetStaffNum()t GetFloorNum()endl;p+;void Admin:ShowClientInfo()system(cls);cout客户编号 客户姓名 客户性别 客户电话 客户类别n;set:iterator p=cl.begin();while(p!=cl.end()cout GetNumber()t GetName()GetSex()=f)cout男 ;els
27、ecout女 ;coutGetTel()GetType()=1)coutGetType()=2)coutGetType()=3)cout出租客户n;elsecout出售客户n;p+;void Admin:AddFloor()char ch=n;doFloor ob(1,1,1,1,1,1,1,1);ob.Input();fl.insert(ob);cout继续输入?(y/n)ch;while(ch=y);void Admin:AddStaff()char ch=n;doStaff ob(1,1,1,1,1);ob.Input();sta.insert(ob);cout继续输入?(y/n)ch;
28、while(ch=y);void Admin:AddStore()char ch=n;doStore ob(1,1,1);ob.Input();sto.insert(ob);cout继续输入?(y/n)ch;while(ch=y);void Admin:AddClient()char ch=n;doClient ob(1,1,1,1,1);ob.Input();cl.insert(ob);cout继续输入?(y/n)ch;while(ch = y);void Admin:HireRise()int count=0;int i;double r=0;system(cls);cout楼盘编号 楼盘
29、面积 楼盘租金 楼盘售金 楼盘状态 租出/售出日期n;set:iterator p=fl.begin();while(p!=fl.end() /count用于楼盘计数count=count+1;p+;for(i=0;iGetHire()min&rGetHire() /提取大于上一轮min值的最小租金min=p-GetHire();p+;r=min; /r用于记录min值p=fl.begin();while(p!=fl.end()if(min=p-GetHire() /输出本轮最小租金的楼盘信息cout GetNum()t GetSize()t GetHire()t GetBuy()GetSta
30、te()cout售t ;elsecoutGetDa();coutbi.GetYear()-bi.GetMonth()-bi.GetDay()endl;p+;void Admin:HireFall()int count=0;int i;system(cls);cout楼盘编号 楼盘面积 楼盘租金 楼盘售金 楼盘状态 租出/售出日期n;set:iterator p=fl.begin();while(p!=fl.end()count=count+1;p+;double r=100000000;for(i=0;icount;i+)double max=0;p=fl.begin();while(p!=f
31、l.end()if(maxGetHire()&rp-GetHire()max=p-GetHire();p+;r=max;p=fl.begin();while(p!=fl.end()if(max=p-GetHire()cout GetNum()t GetSize()t GetHire()t GetBuy()GetState()cout售t ;elsecoutGetDa();coutbi.GetYear()-bi.GetMonth()-bi.GetDay()endl;p+;void Admin:BuyRise()int count=0;int i;system(cls);cout楼盘编号 楼盘面积 楼盘租金 楼盘售金 楼盘状态 租出/售出日期n;set:iterator p=fl.begin();while(p!=fl.end()count=count+1;p+;double r=0;for(i=0;ip-GetBuy()&rGetBuy()min=p-GetBuy();p+;r=min;p=fl.begin();while(p!=fl.end()if(min=p-GetBuy()cout GetNum()t GetSize()t GetHire()t GetBuy()GetState()cout售t ;elsecout租t