-程序设计报告(2012/2013学年第一学期)题目:房屋租售管理系统专业学生姓名班级学号指导教师指导单位日期2012.11.02-评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语教师签名:年月日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格-房屋租售管理系统一、课题内容和要求该系统要求建立某房屋租售中介管理系统,并实现输入口令进入系统、基础信息建立、客户统计、房源排序、销售业绩及佣金收入统计、相关文件存盘功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。二、需求分析模块一:基础信息管理,该模块实现员工、楼盘及门店信息的查看与建立;模块二:客户管理,该模块实现客户信息的建立、查看与各类客户数量统计;模块三:房源查看,该模块实现房源信息按租金升序、售金升序、租金降序、售金降序显示;模块四:统计分析,该模块实现某一指定时间段内销售情况及佣金收入统计;模块五:保存文件,该模块实现各类相关文件的保存;模块六:退出系统,该模块实现本系统的退出;-三、概要设计NY1234501.基础信息管理:包括楼盘信息查询、员工信息查询、门店信息查询、楼盘信息建立、员工信息建立、门店信息建立、返回上级菜单几项功能;2.客户管理:包括客户信息查询、客户信息建立、客户数量统计及返回上级菜单几项功能;3.房源查看:包括按租金升序显示房源信息、按租金降序显示房源信息、按售金升序显示房源信息、按售金降序显示房源信息及返回上级菜单几项功能;4.统计分析:包括销售情况及佣金收入统计及返回上级菜单几项功能;5.保存文件:保存所有相关文件;6.退出系统:退出房屋租售管理系统。开始输入密码密码正确确进入系统基础信息管理客户管理房源查看统计分析保存文件退出系统结束-四、源程序代码#includeiostream#includeiomanip#includefstream#includestring#includestdlib.h#includesetusingnamespacestd;classDate//定义日期类{protected:intyear;//年intmonth;//月intday;//日public:voidSet(int,int,int);//设置日期voidInput();//输入日期booloperator(Dateob)const;//重载运算,实现日期比较intGetYear();//返回年intGetMonth();//返回月intGetDay();//返回日};//Date类函数的实现voidDate::Set(inty,intm,intd){year=y;month=m;day=d;}voidDate::Input(){cout年:;cinyear;cout月:;cinmonth;cout日:;cinday;}boolDate::operator(Dateob)const{if(yearob.year)returntrue;elseif(year==ob.year)-if(monthob.month)returntrue;elseif(month==ob.month)if(dayob.day)returntrue;elsereturnfalse;elsereturnfalse;elsereturnfalse;}intDate::GetYear(){returnyear;}intDate::GetMonth(){returnmonth;}intDate::GetDay(){returnday;}classFloor//定义楼盘类{protected:stringNum;//楼盘编号doubleSize;//楼盘面积doubleHire;//楼盘租金doubleBuy;//楼盘售金boolState;//楼盘状态(1-售,0-租)DateDa;//租出/售出日期public:Floor(stringnu,doublesi,doublehi,doublebu,boolst,inty,intm,intd);//构造函数voidInput();//输入单个楼盘信息booloperator(Floorob)const;//重载运算,set容器要求元素之间满足该关系stringGetNum();//返回楼盘编号doubleGetSize();//返回楼盘面积doubleGetHire();//返回楼盘租金doubleGetBuy();//返回楼盘售金boolGetState();//返回楼盘状态DateGetDa();//返回楼盘租出/售出日期};-//Floor类函数的实现Floor::Floor(stringnu,doublesi,doublehi,doublebu,boolst,inty,intm,intd){Num=nu;Size=si;Hire=hi;Buy=bu;State=st;Da.Set(y,m,d);}voidFloor::Input(){cout楼盘编号:;cinNum;coutendl;cout楼盘面积:;cinSize;coutendl;cout楼盘租金:;cinHire;coutendl;cout楼盘售金:;cinBuy;coutendl;cout楼盘状态(0-租;1-售):;cinState;coutendl;cout租出/售出日期:\n;Da.Input();}boolFloor::operator(Floorob)const{if(Numob.Num)returntrue;elsereturnfalse;}stringFloor::GetNum(){returnNum;}doubleFloor::GetSize(){returnSize;}-doubleFloor::GetHire(){returnHire;}doubleFloor::GetBuy(){returnBuy;}boolFloor::GetState(){returnState;}DateFloor::GetDa(){returnDa;}classStaff//定义员工类{protected:stringNumber;//员工编号stringName;//员工姓名charSex;//员工性别stringTel;//员工电话doubleCommission;//员工工资public:Staff(stringnum,stringna,charse,stringte,doubleco);//构造函数voidInput();//输入员工信息booloperator(Staffob)const;//重载运算,set容器要求元素之间满足该关系stringGetNumber();//返回员工编号stringGetName();//返回员工姓名charGetSex();//返回员工性别stringGetTel();//返回员工电话doubleGetCommission();//返回员工工资};//Staff类函数的实现Staff::Staff(stringnum,stringna,charse,stringte,doubleco){Number=num;Name=na;Sex=se;Tel=te;Commission=co;}voidStaff::Input(){-cout员工姓名:;cinName;cout员工编号:;cinNumber;cout员工性别(\f\或\m\):;cinSex;cout员工电话:;cinTel;cout员工工资:;cinCommission;}boolStaff::operator(Staffob)const{if(Numberob.Number)returntrue;elsereturnfalse;}stringStaff::GetNumber(){returnNumber;}stringStaff::GetName(){returnName;}charStaff::GetSex(){returnSex;}stringStaff::GetTel(){returnTel;}doubleStaff::GetCommission(){returnCommission;}classStore//定义门店类{protected:stringStoNum;//门店编号intStaffNum;//员工数量intFloorNum;//负责楼盘数量public:-Store(stringsn,intst,intfl);//构造函数voidInput();//输入门店信息boolStore::operator(Storeob)const;//重载运算,set容器要求元素之间满足该关系stringGetStoNum();//返回门店编号intGetStaffNum();//返回员工数量intGetFloorNum();//返回负责楼盘数量};//Store类函数的实现Store::Store(stringsn,intst,intfl){StoNum=sn;StaffNum=st;FloorNum=fl;}voidStore::Input(){cout门店编号:;cinStoNum;coutendl;cout员工数量:;cinStaffNum;coutendl;cout负责楼盘数量:;cinFloorNum;coutendl;}boolStore::operator(Storeob)const{if(StoNumob.StoNum)returntrue;elsereturnfalse;}stringStore::GetStoNum(){returnStoNum;}intStore::GetStaffNum(){returnStaffNum;}intStore::GetFloorNum(){returnFloorNum;}-classClient//定义客户类{protected:stringname;//客户姓名stringnumber;//客户编号charsex;//客户性别stringtel;//客户电话inttype;//客户类别public:Client(stringna,stringnu,charse,stringte,intty);//构造函数voidInput();//输入客户信息boolClient::operator(Clientob)const;//重载运算,set容器要求元素之间满足该关系stringGetName();//返回客户姓名stringGetNumber();//返回客户编号charGetSex();//返回客户性别stringGetTel();//返回客户电话intGetType();//返回客户类型};//Client类函数实现Client::Client(stringna,stringnu,charse,stringte,intty){name=na;number=nu;sex=se;tel=te;type=ty;}voidClient::Input(){cout客户姓名:;cinname;cout客户编号:;cinnumber;cout客户性别(\f\或\m\):;cinsex;cout客户电话:;cintel;cout客户类型(1-求租客户;2-求售客户;3-出租客户;4-出售客户):;cintype;}boolClient::operator(Clientob)const{if(numberob.number)returntrue;else-