《房屋租售管理系统_c++程序设计(24页).doc》由会员分享,可在线阅读,更多相关《房屋租售管理系统_c++程序设计(24页).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-房屋租售管理系统_c+程序设计-第 24 页程序设计报告( 2012 / 2013 学年 第 一 学期)题 目: 房屋租售管理系统 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 2012.11.02 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格房屋租售管理系统一、 课题内容和要求 该系统要求建立某房屋租售中
2、介管理系统,并实现输入口令进入系统、基础信息建立、客户统计、房源排序、销售业绩及佣金收入统计、相关文件存盘功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。二、需求分析模块一:基础信息管理,该模块实现员工、楼盘及门店信息的查看与建立;模块二:客户管理,该模块实现客户信息的建立、查看与各类客户数量统计;模块三:房源查看,该模块实现房源信息按租金升序、售金升序、租金降序、售金降序显示;模块四:统计分析,该模块实现某一指定时间段内销售情况及佣金收入统计;模块五:保存文件,该模块实现各类相关文件的保存;模块六:退出系统,该模块实现本系统的退出;三、概要设计 开始输入密码密码
3、正确确NY进入系统统计分析保存文件退出系统房源查看客户管理基础信息管理123450结束1.基础信息管理:包括楼盘信息查询、员工信息查询、门店信息查询、楼盘信息建立、员工信息建立、门店信息建立、返回上级菜单几项功能;2.客户管理:包括客户信息查询、客户信息建立、客户数量统计及返回上级菜单几项功能;3.房源查看:包括按租金升序显示房源信息、按租金降序显示房源信息、按售金升序显示房源信息、按售金降序显示房源信息及返回上级菜单几项功能;4.统计分析:包括销售情况及佣金收入统计及返回上级菜单几项功能;5.保存文件:保存所有相关文件;6退出系统:退出房屋租售管理系统。四、源程序代码 #include#in
4、clude#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类函数的实现void Date:Set(in
5、t 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;elsereturn false;int Date:G
6、etYear()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,bool st,int y,int m,in
7、t 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 si,double hi,double bu,
8、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;elsereturn false;string Floor
9、: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; /员工电话 double Commission;
10、/员工工资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(); /返回员工工资/Staff类函数的实现Staff:Staff
11、(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 Number;string Staff:G
12、etName()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(); /输入门店信息bool Store:operator
13、(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;coutendl;bool Store:opera
14、tor(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; /客户电话int type; /客户类别publ
15、ic: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类函数实现Client:Client(string na,s
16、tring 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:GetNumber()return number;char
17、 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(); /读取门店文件void ReadClient
18、(); /读取客户文件void ShowFloorInfo(); /显示所有楼盘信息void ShowStaffInfo(); /显示所有员工信息void AddFloor(); /添加楼盘信息void AddStaff(); /添加员工信息void ShowStoreInfo(); /显示所有门店信息void AddStore(); /添加门店信息void ShowClientInfo(); /显示所有客户信息void AddClient(); /添加客户信息void HireRise(); /按租金升序显示所有楼盘信息void HireFall(); /按租金降序显示所有楼盘信息void
19、BuyRise(); /按售金升序显示所有楼盘信息void BuyFall(); /按售金降序显示所有楼盘信息void SellSta(); /某段时间内销售及佣金收入统计void ClientSta(); /客户信息统计void SaveFloor(); /楼盘信息存档void SaveStaff(); /员工信息存档void SaveStore(); /门店信息存档void SaveClient(); /客户信息存档Admin:Admin() /定义对象的同时读取文件ReadFloor();ReadStaff();ReadStore();ReadClient();void Admin:Re
20、adFloor()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.insert(ob);inNumSizeHir
21、eBuyStateymd;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 ob(Number,Name,Sex,Tel
22、,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;while(!in.eof()Store ob(S
23、toNum,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();innumbernamesexteltype;
24、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()cout售t ;elsecoutGetD
25、a();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:ShowStoreInfo()system(cls);cou
26、t门店编号 员工数量 负责楼盘数量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男 ;elsecout女 ;coutGetTel()Ge
27、tType()=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;while(ch=y);void Admin
28、: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()GetState()cout售t ;elsecoutGe
30、tDa();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!=fl.end()if(maxGetHire()
31、&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()cou