




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档面向对象程序设计课程设计报告课程设计题目: 物业管理系统 专业班级: 学 号: 姓 名: 成 绩: 2010年 01 月 17 日课程设计文档-简单的物业管理系统1. 需求分析:需要实现的主要功能如下:(1) 添加业主的编号,日期,缴费;(2) 修改业主的编号,日期,缴费;(3) 删除业主的编号,日期,缴费;(4) 查询业主的编号,日期,缴费;(5) 显示业主的编号,日期,缴费;2.类设计与说明glry_+ID:string +name: string +sex :string+age :string+ zhiwu: string+set():void+xg():void+qrid(:string M ):intfly+ID:string+sj:int+sjfy yjfy:float+set():voidYz_+ID:string+name:string+sex:string+age:string+fyxb:int+Set():void+Xg():void+qrID(:string):int3定义的函数主要功能说明:(1)glry类Set-设置管理人员信息Xg-修改管理人员信息qrid-确认ID(2)fyl类Set-设置费用信息(3)yz类Set-设置业主信息Xg-修改业主信息qrid-确认ID4.主要算法说明:(1)Main函数中主要利用循环实现业主姓名的连续录入;5.系统总框图: 主函数用户菜单退出文件各个函数成员链表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;/ xh 循环 void tcxt();for(;xh=1;)i+;char psw11,A=2010;char ch;int pos=0;cout $*$endl; cout | |endl;cout | *欢迎进入物业管理系统* |endl;cout | |endl;cout *endlendl;cout-endl;cout请输入密码(2010)endl;while (ch=getch()!=r) if(ch=b) / b是退格pos-;if(pos0)pos=0;continue;coutb b; /退一格,输出空格,再退一格elseif(pos10)pswpos+=ch;cout*;coutendl;pswpos=0;if(strcmp(A,psw)=0)couttttt密码正确正在进入系统endl;system(cls); /清屏coutttt*endl;coutttt* *endl;coutttt* 欢迎进入物业管理系统 *endl;coutttt* *endl;coutttt*endl;break; else if(i=3) cout连续输入密码错误3次 将被强制退出系统endl; tcxt(); cout密码错误 请选择 1继续 0退出xh;if(xh!=1)&(xh!=0)cout无次操作符 请重新输入操作符 xh;if(xh=0) x=0;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=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: string 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); /确认ID;void yz:set() fyxb=-1;coutID;coutname;coutsex;coutage;system(cls);bcsj(); dqsj();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=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=yz_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)setprecision(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=1;coutsetiosflags(ios:left)setw(10)zfyi.id;coutsetiosflags(ios:fixed)setprecision(2)setw(12)zfyi.sjfysetw(8)zfyi.yjfyendl;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;float 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)cout此业主ID不存在endl;cout还要修改其他业主信息吗?Y是 ,N否c;void tjyz() /添加业主函数for(c=y;c=y|c=Y;)cout请输入要添加的业主信息endl;yz_h+.set();system(cls);bcsj(); dqsj();cout还要添加其他业主吗?Y是 ,N否c;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) 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请输入要添加的管理人员信息endl;glry_h2+.set();system(cls);bcsj(); dqsj();cout还要添加其他管理人员吗?Y是 ,N否c;void scglry() /删除管理人员函数int u=0;for(c=y;c=y|c=Y;)coutM;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是 ,N否c;void tcxt() /退出系统coutttt*endl;coutttt* *endl;coutttt* 正在退出物业管理系统 *endl;coutttt* *endl;coutttt*endl;couttttttttt版权所有 张万endl;exit(1);void xzcz() /选择操作函数char xz; / xz 选择符system(cls); dqsj();coutn 0添加缴费记录 endl;cout 1业主缴费查询 2日期缴费查询 3物业公司开销统计 endl;cout请选择操作:4修改业主信息 5添加业主 6删除业主 endl;cout 7修改管理人员信息 8添加管理人员 9删除管理人员 .退出 n xz;switch(xz)default: cout无此操作选项endl;break;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; /修改管理人员信息函数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); / 读文件fwhile(fin.getline(ch,sizeof(ch) h+;coutn业主总数为:hendl; /显示业主总数fin.clear();fin.seekg(0,ios:beg);cout业主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; / 显示ffin.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.idzfyi.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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024学年南京市九年级语文上学期期中考试卷附答案解析
- 斜拉桥上部结构主梁施工方案
- 宪法九版习题及答案 第8章 人民法院与人民检察院在线练习
- 高一功的说课课件
- 砂石场砂石资源采购合同执行监督与考核
- 停薪留职期间员工培训及技能提升服务合同
- 乡村振兴私募股权投资基金委托管理协议
- 人力资源外包合同修订及绩效管理与激励协议
- 成人开放大学咨询服务合同
- 职业教育实训教学安全管理规定
- 人教PEP版六年级英语上册全册教案
- 3D打印技术在制造业2025年发展趋势及市场前景可行性分析报告
- 综合楼玻璃安装合同协议书范本模板6篇
- 2025年度集中供暖项目暖气设施安装及售后服务合同
- 护士医护人员职业安全防护培训
- 巴彦淖尔教师招考试题及答案
- 2025年四川省建筑安全员A证模拟试题(及答案)
- 莲山教学课件下载
- GB/T 5463.3-2025非金属矿产品词汇第3部分:石膏
- 大学生创新创业基础课件 第7章 创业与创业历程
- 班主任育人故事经验分享陪伴每一名学生慢慢成长模板
评论
0/150
提交评论