房屋租售管理系统c程序设计.docx
- 文档编号:11648565
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:53
- 大小:200.62KB
房屋租售管理系统c程序设计.docx
《房屋租售管理系统c程序设计.docx》由会员分享,可在线阅读,更多相关《房屋租售管理系统c程序设计.docx(53页珍藏版)》请在冰豆网上搜索。
房屋租售管理系统c程序设计
程序设计报告
(2012/2013学年第一学期)
题目:
房屋租售管理系统
专业
学生姓名
班级学号
指导教师
指导单位
日期2012.11.02
评分细则
评分项
优秀
良好
中等
差
遵守机房规章制度
上机时地表现
学习态度
程序准备情况
程序设计能力
团队合作精神
课题功能实现情况
算法设计合理性
用户界面设计
报告书写认真程度
内容详实程度
文字表达熟练程度
回答问题准确度
简短评语
教师签名:
年月日
评分等级
备注
评分等级有五种:
优秀、良好、中等、及格、不及格
房屋租售管理系统
一、课题内容和要求
该系统要求建立某房屋租售中介管理系统,并实现输入口令进入系统、基础信息建立、客户统计、房源排序、销售业绩及佣金收入统计、相关文件存盘功能.
通过此课题,熟练掌握文件、数组、指针地各种操作,以及一些算法思想地应用.
二、需求分析
模块一:
基础信息管理,该模块实现员工、楼盘及门店信息地查看与建立;
模块二:
客户管理,该模块实现客户信息地建立、查看与各类客户数量统计;
模块三:
房源查看,该模块实现房源信息按租金升序、售金升序、租金降序、售金降序显示;
模块四:
统计分析,该模块实现某一指定时间段内销售情况及佣金收入统计;
模块五:
保存文件,该模块实现各类相关文件地保存;
模块六:
退出系统,该模块实现本系统地退出;
三、概要设计
N
Y
123450
1.基础信息管理:
包括楼盘信息查询、员工信息查询、门店信息查询、楼盘信息建立、员工信息建立、门店信息建立、返回上级菜单几项功能;
2.客户管理:
包括客户信息查询、客户信息建立、客户数量统计及返回上级菜单几项功能;
3.房源查看:
包括按租金升序显示房源信息、按租金降序显示房源信息、按售金升序显示房源信息、按售金降序显示房源信息及返回上级菜单几项功能;
4.统计分析:
包括销售情况及佣金收入统计及返回上级菜单几项功能;
5.保存文件:
保存所有相关文件;
6.退出系统:
退出房屋租售管理系统.
四、源程序代码
#include
#include
#include
#include
#include
#include
usingnamespacestd。
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<<"年:
"。
cin>>year。
cout<<"月:
"。
cin>>month。
cout<<"日:
"。
cin>>day。
}
boolDate:
:
operator<(Dateob)const
{
if(year returntrue。 else if(year==ob.year) if(month returntrue。 else if(month==ob.month) if(day returntrue。 else returnfalse。 else returnfalse。 else returnfalse。 } 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<<"楼盘编号: "。 cin>>Num。 cout< cout<<"楼盘面积: "。 cin>>Size。 cout< cout<<"楼盘租金: "。 cin>>Hire。 cout< cout<<"楼盘售金: "。 cin>>Buy。 cout< cout<<"楼盘状态(0-租;1-售): "。 cin>>State。 cout< cout<<"租出/售出日期: \n"。 Da.Input()。 } boolFloor: : operator<(Floorob)const { if(Num returntrue。 else returnfalse。 } 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<<"员工姓名: "。 cin>>Name。 cout<<"员工编号: "。 cin>>Number。 cout<<"员工性别(\"f\"或\"m\"): "。 cin>>Sex。 cout<<"员工电话: "。 cin>>Tel。 cout<<"员工工资: "。 cin>>Commission。 } boolStaff: : operator<(Staffob)const { if(Number returntrue。 else returnfalse。 } 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<<"门店编号: "。 cin>>StoNum。 cout< cout<<"员工数量: "。 cin>>StaffNum。 cout< cout<<"负责楼盘数量: "。 cin>>FloorNum。 cout< } boolStore: : operator<(Storeob)const { if(StoNum returntrue。 else returnfalse。 } 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<<"客户姓名: "。 cin>>name。 cout<<"客户编号: "。 cin>>number。 cout<<"客户性别(\"f\"或\"m\"): "。 cin>>sex。 cout<<"客户电话: "。 cin>>tel。 cout<<"客户类型(1-求租客户。 2-求售客户。 3-出租客户。 4-出售客户): "。 cin>>type。 } boolClient: : operator<(Clientob)const { if(number returntrue。 else returnfalse。 } stringClient: : GetName() { returnname。 } stringClient: : GetNumber() { returnnumber。 } charClient: : GetSex() { returnsex。 } stringClient: : GetTel() { returntel。 } intClient: : GetType() { returntype。 } classAdmin { protected: set //Floor类数据集 set //Staff类数据集 set //Store类数据集 set //Client类数据集 public: Admin()。 //构造函数 voidReadFloor()。 //读取楼盘文件 voidReadStaff()。 //读取员工文件 voidReadStore()。 //读取门店文件 voidReadClient()。 //读取客户文件 voidShowFloorInfo()。 //显示所有楼盘信息 voidShowStaffInfo()。 //显示所有员工信息 voidAddFloor()。 //添加楼盘信息 voidAddStaff()。 //添加员工信息 voidShowStoreInfo()。 //显示所有门店信息 voidAddStore()。 //添加门店信息 voidShowClientInfo()。 //显示所有客户信息 voidAddClient()。 //添加客户信息 voidHireRise()。 //按租金升序显示所有楼盘信息 voidHireFall()。 //按租金降序显示所有楼盘信息 voidBuyRise()。 //按售金升序显示所有楼盘信息 voidBuyFall()。 //按售金降序显示所有楼盘信息 voidSellSta()。 //某段时间内销售及佣金收入统计 voidClientSta()。 //客户信息统计 voidSaveFloor()。 //楼盘信息存档 voidSaveStaff()。 //员工信息存档 voidSaveStore()。 //门店信息存档 voidSaveClient()。 //客户信息存档 }。 Admin: : Admin()//定义对象地同时读取文件 { ReadFloor()。 ReadStaff()。 ReadStore()。 ReadClient()。 } voidAdmin: : ReadFloor() { ifstreamin("C: \\FloorInfo.txt")。 if(! in) { cout<<"Cannotopenthefile: \"FloorInfo.txt\"\n"。 return。 } stringNum。 doubleSize。 doubleHire。 doubleBuy。 boolState。 inty。 intm。 intd。 set : iteratorp=fl.begin()。 in>>Num>>Size>>Hire>>Buy>>State>>y>>m>>d。 while(! in.eof()) { Floorob(Num,Size,Hire,Buy,State,y,m,d)。 fl.insert(ob)。 in>>Num>>Size>>Hire>>Buy>>State>>y>>m>>d。 } in.close()。 return。 } voidAdmin: : ReadStaff() { ifstreamin("C: \\StaffInfo.txt")。 if(! in) { cout<<"Cannotopenthefile: \"StaffInfo.txt\"\n"。 return。 } stringNumber。 stringName。 charSex。 stringTel。 doubleCommission。 set : iteratorp=sta.begin()。 in>>Number>>Name>>Sex>>Tel>>Commission。 while(! in.eof()) { Staffob(Number,Name,Sex,Tel,Commission)。 sta.insert(ob)。 in>>Number>>Name>>Sex>>Tel>>Commission。 } in.close()。 return。 } voidAdmin: : ReadStore() { ifstreamin("C: \\StoreInfo.txt")。 if(! in) { cout<<"Cannotopenthefile: \"StoreInfo.txt\"\n"。 return。 } stringStoNum。 intStaffNum。 intFloorNum。 set : iteratorp=sto.begin()。 in>>StoNum>>StaffNum>>FloorNum。 while(! in.eof()) { Storeob(StoNum,StaffNum,FloorNum)。 sto.insert(ob)。 in>>StoNum>>StaffNum>>FloorNum。 } in.close()。 return。 } voidAdmin: : ReadClient() { ifstreamin("C: \\ClientInfo.txt")。 if(! in) { cout<<"Cannotopenthefile: \"ClientInfo.txt\"\n"。 return。 } stringname。 stringnumber。 charsex。 stringtel。 inttype。 set : iteratorp=cl.begin()。 in>>number>>name>>sex>>tel>>type。 while(! in.eof()) { Clientob(name,number,sex,tel,type)。 cl.insert(ob)。 in>>number>>name>>sex>>tel>>type。 } in.close()。 return。 } voidAdmin: : ShowFloorInfo() { system("cls")。 cout<<"楼盘编号楼盘面积楼盘租金楼盘售金楼盘状态租出/售出日期\n"。 set : iteratorp=fl.begin()。 while(p! =fl.end()) { cout<<""< if(p->GetState()) cout<<"售\t"。 else cout<<"租\t"。 Datebi=p->GetDa()。 cout< p++。 } } voidAdmin: : ShowStaffInfo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 房屋租售管理系统c 程序设计 房屋 租售 管理 系统