版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计课程设计报告课程设计题目物业管理系统专业班级:学号:姓名:成绩:2010 年 01 月 17 日课程设计文档简单的物业管理系统1.需求分析:需要实现的主要功能如下:(1)添加业主的编号,日期,缴费;(2)修改业主的编号,日期,缴费;(3)删除业主的编号,日期,缴费;(4)查询业主的编号,日期,缴费;(5)显示业主的编号,日期,缴费;2类设计与说明glry+ID:stri ng+n ame: stri ng +sex :stri ng+age :stri ng + zhiwu: stri ng+set():void +xg():void+qrid(:stri ng M ):i n
2、tfly+ID:stri ng+sj:i nt+sjfy yjfy:float+set():voidYz+ID:stri ng +n ame:stri ng +sex:stri ng +age:stri ng +fyxb:i nt +Set():void +Xg():void +qrlD(:stri ng ):i nt3.定义的函数主要功能说明:(1)glry 类Set设置管理人员信息Xg修改管理人员信息qrid确认 IDfyl类Set设置费用信息(3)yz 类Set设置业主信息Xg修改业主信息qrid确认 ID4主要算法说明:(1) Main函数中主要利用循环实现业主的连续录入;5. 系统总
3、框图:6. 存在的问题:(1)系统的操作界面需进一步优化,如能用菜单形式实现更为方便。7. 操作手册:运行程序后,会出现“欢迎进入物业管理系统”,上面有提示语句,分别按照这 些提示语句输入信息,就会出现一个菜单。根据菜单的提示即可进行操作。/ 管理人员数 /业主数/个业主费用记录数/总费用记录数#include #include #include #include #include #define G 10 #define Y 20 #define F 10 #define ZF 50 using namespace std;int mima()int x=1, i=0;string xh=1
4、;/ xh 循环 void tcxt();for(;xh=1;)i+;char psw11,A=2010;char ch; int pos=0; cout cout cout cout cout*$endl;| * 欢迎进入物业管理系统 * |*1endlendl;|endl;|endl;|endl;coutendl;cout 请输入密码( 2010) endl;while (ch=getch()!=r)if(ch=b) / b 是退格pos-;if(pos0)pos=0; continue;coutb b;/退一格,输出空格,再退一格elseif(pos10)pswpos+=ch;cout*
5、; coutendl;pswpos=0;if(strcmp(A,psw)=0)couttttt 密码正确正在进入系统 endl;system(cls);/清屏coutttt*endl;coutttt* *endl; coutttt* 欢迎进入物业管理系统 *endl;coutttt*endl;coutttt*endl;break;elseendl; tcxt(); if(i=3) cout 连续输入密码错误 3 次 将被强制退出系统 cout 密码错误 请选择 1 继续 0 退出 xh;if(xh!=1)&(xh!=0)cout 无次操作符 请重新输入操作符 xh; if(xh=0) x=0;
6、 system(cls);/ 清屏 return(x);void bcsj() , dqsj();class glry / 管理人员类 public:string ID;string name;string sex;string age;string zhiwu;void set();void xg(); int qrID(string M);/修改/ 确认 ID;void glry:set()coutID;coutname;coutsex;coutage;coutzhiwu;system(cls);bcsj(); dqsj();void glry:xg()char c,x;for(c=y;c
7、=y|c=Y;)cout 请选择修改容 1 ID 2 3 性别 4 年龄 5 职务 x;switch(x)case 1:coutID;break;case 2:coutname;break; case 3:coutsex;break;case 4:coutage;break;case 5:coutzhiwu;break;default: cout 无此操作选项 endl;break;cout还要修改该物业管理人员信息吗?Y是,N否c;int glry:qrID(string M)int x=0;if(M=ID) x=1;return(x);class fyl/ 费用类 public:strin
8、g id; int sj; float sjfy, yjfy; void set();void fyl:set() coutsj;coutsjfy;coutyjfy;bcsj(); class yz public:string ID; string name; string sex; string age; fyl fyF; int fyxb; void set(); void xg(); int qrID(string); ; void yz:set() fyxb=-1; coutID; coutname; coutsex; coutage; system(cls);bcsj(); dqsj
9、();void yz:xg()/ 业主类char c,x; / c 循环 , x 选择操作的符 for(c=y;c=y|c=Y;)cout 请选择修改容 1 ID 、 2 、 3 性别 、4 年龄 x;switch(x)case 1:coutID;break;case 2:coutname;break; case 3:coutsex;break; case 4:coutage;break; default: cout 无此操作选项 endl;break;cout 继续修改此业主信息吗? Y 是, N 否 c; int yz:qrID(string M) int x=0; if(M=ID) x=
10、1; return(x); /extern fyl zfyZF;/extern glry glry_G;/ 全局对象extern yz yz_Y;/ 全局对象extern int h,h1,h2;总费用循环,int i=0,j=0,k=0; string M; /M 输入 ID , j 业主循环, i 管理、 char c=y;/是否循环的初始条件void tjfyjl()/ 添加缴费记录for(c=y;c=y|c=Y;)system(cls); dqsj();coutM; for(j=0;jh;j+) k=yz_j.qrID(M); if(k)yz_j.fy+(yz_j.fyxb).id=y
11、z_j.ID;yz_j.fy(yz_j.fyxb).set();break;if(k=0)cout 此业主 ID 不存在 endl;cout 还要继续查询吗? Y 是 , N 否 c;void yzjfcx()/业主缴费查询函数int cx; for(c=y;c=y|c=Y;)system(cls);dqsj();coutM; for(j=0;jh;j+) cx=yz_j.qrID(M);if(cx=1) cout 日期实缴费用 应缴费用 =0;k-) coutsetiosflags(ios:left)setw(8)yz_j.fyk.sj;coutsetiosflags(ios:fixed)s
12、etprecision(2)setw(12)yz_j.fyk.sjfysetw(8)yz_ j.fyk.yjfyendl; break;if(cx=0) cout 此业主 ID 不存在 endl; cout 还要继续查询吗? Y 是 , N 否 c;void rqjfcx() / 日期缴费查询int rq,cx,cx1=0; for(c=y;c=y|c=Y;)system(cls); dqsj();cout 请输入查询的缴费年月(如 200808) rq;cout 业主 ID实缴费用 应缴费用 endl;for(i=0;ih1;i+)cx=(zfyi.sj=rq); if(cx=1) cx1=
13、1; coutsetiosflags(ios:left)setw(10)zfyi.id;coutsetiosflags(ios:fixed)setprecision(2)setw(12)zfyi.sjfysetw(8)zfyi.yjf yendl;if(cx1=0) cout 此日期无人缴费 endl; cout 还要继续查询吗? Y 是 , N 否 c;void wykxtj()/物业公司开销统计函数int sjd1,sjd2; for(c=y;c=y|c=Y;)system(cls); dqsj();cout 请输入要统计的时间段 (如 200801 200806) sjd1sjd2;fl
14、oat z1=0,z2=0; for(i=0;i=sjd1&zfyi.sj=sjd2) z1+=zfyi.sjfy; z2+=zfyi.yjfy;cout 该时间段物业公司开销情况如下 : endl;cout收入 z1 元 endl;cout支出 z2 元 endl;cout 还要继续统计吗? Y 是 , N 否 c;void xgyzxx()/修改业主信息函数int u=0; for(c=y;c=y|c=Y;)coutM;for(j=0;jh;j+) u=yz_j.qrID(M);if(u) yz_j.xg();system(cls);bcsj(); dqsj();break; if(u=0
15、)cout 此业主 ID 不存在 endl; coutc;Y 是 ,N 否 endl; void tjyz()/添加业主函数for(c=y;c=y|c=Y;)cout 请输入要添加的业主信息 yz_h+.set();system(cls);bcsj(); dqsj(); coutc;endl;是 , N 否 endl;void scyz()int u=0;for(c=y;c=y|c=Y;)coutM;for(j=0;jh;j+) u=yz_j.qrID(M); if(u=1) /删除业主函数yz_j=yz_-h; system(cls);bcsj(); dqsj();break;if(u=0)
16、 cout 此业主 ID 不存在 endl; cout 还要删除其他业主吗? Y 是 , N 否 c;void xgglryxx()/修改管理人员信息函数int u=0;for(c=y;c=y|c=Y;)coutM;for(i=0;ih2;i+) u=glry_i.qrID(M); if(u) glry_i.xg();system(cls);bcsj(); dqsj();break; if(u=0) cout 此管理人员 ID 不存在 endl; cout还要修改其他管理人员信息吗?Y是,N否c;void tjglry()/添加管理人员函数 for(c=y;c=y|c=Y;)cout 请输入要
17、添加的管理人员信息 endl;glry_h2+.set(); system(cls);bcsj(); dqsj();cout还要添加其他管理人员吗?Y是,N否c;void scglry()/删除管理人员函数int u=0;for(c=y;c=y|c=Y;)cout 请输要删除的管理人员 IDcoutttt*M; for(i=0;ih2;i+) u=glry_i.qrID(M);if(u=1) glry_i=glry_-h2;system(cls);bcsj(); dqsj(); break;if(u=0) cout 此管理人员 ID 不存在 endl; cout 还要删除其他管理人员吗? Y
18、是 ,N 否 c;void tcxt()/退出系统coutttt*endl;*endl;coutttt*coutttt* 正在退出物业管理系统 *endl;*endl;coutttt*case 0:tjfyjl();break; case 1:yzjfcx(); break; case 2:rqjfcx();break; case 3:wykxtj();break; case 4:xgyzxx();break;case 5:tjyz();break; case 6:scyz();break;case 7:xgglryxx();break;couttttttttt 所有 万endl;exit(1
19、);void xzcz()/ 选择操作函数char xz;/ xz 选择符system(cls); dqsj();coutncoutcout 请选择操作:0 添加缴费记录 endl;1 业主缴费查询 2 日期缴费查询 3 物业公司开销统计 endl;4 修改业主信息 5 添加业主 6 删除业主 endl;cout7 修改管理人员信息 8 添加管理人员 9 删除管理人员 . 退出 nxz;switch(xz)default: cout 无此操作选项 endl;break;/添加缴费记录/业主缴费查询函数 /日期缴费查询 /物业公司开销统计函数 /修改业主信息函数/添加业主函数/删除业主函数/修改
20、管理人员信息函数case 8:tjglry();break;/ 添加管理人员函数case 9:scglry();break;/ 删除管理人员函数case .:tcxt(); / 退出 / int h,h2,h1; / h 表示文件行数 void dqsj() / 读取文件函数h=0; h1=0; h2=0;char ch50;ifstream fin(f.txt,ios:in); / 读文件 f while(fin.getline(ch,sizeof(ch) h+;coutn 业主总数为: hendl;/显示业主总数fin.clear();fin.seekg(0,ios:beg);cout业主
21、ID性别年龄endl;for(j=0;jyz_j.IDyz_yz_j.sexyz_j.age;coutsetiosflags(ios:left)setw(10)yz_j.IDsetw(11)yz_setw(7)yz_ j.sexsetw(5)yz_j.ageendl;/ 显示 f fin.close();ifstream fin1(f1.txt,ios:in);/ 读文件 f1while(fin1.getline(ch,sizeof(ch) h1+; fin1.clear();fin1.seekg(0,ios:beg);/指针返回文件头for(i=0;izfyi.idz
22、fyi.sjzfyi.sjfyzfyi.yjfy; fin1.close();/把费用记录赋给个业主for(j=0;jh;j+) k=0;for(i=0;ih1;i+)if(yz_j.qrID(zfyi.id)yz_j.fyk+=zfyi;yz_j.fyxb=k-1;/ifstream fin2(f2.txt,ios:in);/读文件 f2while(fin2.getline(ch,sizeof(ch) h2+; coutn 管理人员总人数为: h2endl;/显示管理人员总人数fin2.clear();fin2.seekg(0,ios:beg);/ 指针返回文件头cout 管理员 ID性别 年龄职务 endl;for(i=0;iglry_i.IDglry_glry_i.sexglry_i.ageglry_i.zhiwu;coutsetiosflags(ios:left)setw(10)glry_i.IDsetw(11)glry_setw(7) glry_i.sex;/显示 f2coutsetw(7)glry_i.agesetw(20)glry_i.zhiwuendl;fin2.close();void bcsj() / 保存数据ofstream fout(f.txt,ios:out); /fif(! fout)cerr 文件打
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审计工作人员考核制度
- 商家运营团队风控制度
- 公司内部审计考核制度
- 上市审计制度
- 审计事务所四大八大制度
- 安全标准化绩效考核制度
- 企业内部会计审计制度
- 审计人员内训制度
- 审计要请报送制度
- 审计组成员制度
- 公路施工路基、桥梁施工台账模板
- 地质灾害与防治课件
- 世界水日中国水周知识竞赛试题及答案,世界水日中国水周线上答题活动答案
- 安徽医学高等专科学校2021年校考真题
- GB/T 42195-2022老年人能力评估规范
- YS/T 1018-2015铼粒
- GB/T 4450-1995船用盲板钢法兰
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- 110kV瓮北变110kV间隔扩建工程施工组织设计
- 听力检查及结果分析
- 电极的植入技巧-OK课件
评论
0/150
提交评论