面向对象课程设计—物业管理系统_第1页
面向对象课程设计—物业管理系统_第2页
面向对象课程设计—物业管理系统_第3页
面向对象课程设计—物业管理系统_第4页
面向对象课程设计—物业管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-作者xxxx-日期xxxx面向对象课程设计物业管理系统【精品文档】面向对象程序设计课程设计报告课程设计题目: 物业管理系统 专业班级: 学 号: 姓 名: 成 绩: 2010年 01 月 17 日课程设计文档 -简单的物业管理系统1. 需求分析:需要实现的主要功能如下:(1) 添加业主的编号,日期,缴费;(2) 修改业主的编号,日期,缴费;(3) 删除业主的编号,日期,缴费;(4) 查询业主的编号,日期,缴费;(5) 显示业主的编号,日期,缴费;glry_+ID:string +name: string +sex :string+age :string+ zhiwu: string

2、+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)

3、  Main函数中主要利用循环实现业主姓名的连续录入;5.系统总框图: 主函数用户菜单退出文件各个函数成员链表6.存在的问题:  (1)系统的操作界面需进一步优化,如能用菜单形式实现更为方便。7.操作手册:运行程序后,会出现“欢迎进入物业管理系统”,上面有提示语句,分别按照这些提示语句输入信息,就会出现一个菜单。根据菜单的提示即可进行操作。#include <fstream>#include <iostream>#include <string>#include <conio.h>#include <

4、iomanip>#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<

5、;<" | |"<<endl;cout<<" | *欢迎进入物业管理系统* |"<<endl;cout<<" | |"<<endl;cout<<" *"<<endl<<endl;cout<<"-"<<endl;cout<<"请输入密码(2010)"<<endl;while (ch=getch()!='r') if

6、(ch='b') / 'b'是退格pos-;if(pos<0)pos=0;continue;cout<<"b b" /退一格,输出空格,再退一格elseif(pos<10)pswpos+=ch;cout<<'*'cout<<endl;pswpos='0'if(strcmp(A,psw)=0)cout<<"tttt密码正确正在进入系统"<<endl;system("cls"); /清屏cout<&

7、lt;"ttt*"<<endl;cout<<"ttt* *"<<endl;cout<<"ttt* 欢迎进入物业管理系统 *"<<endl;cout<<"ttt* *"<<endl;cout<<"ttt*"<<endl;break; else if(i=3) cout<<"连续输入密码错误3次 将被强制退出系统"<<endl; tcxt(); co

8、ut<<"密码错误 请选择 1继续 0退出"<<endl;cin>>xh;if(xh!="1")&&(xh!="0")cout<<"无次操作符 请重新输入操作符 "<<endl;cin>>xh;if(xh="0") x=0;system("cls"); /清屏return(x);void bcsj() , dqsj(); class glry /管理人员类public:string ID;

9、string name;string sex;string age;string zhiwu;void set();void xg(); /修改int qrID(string M); /确认ID;void glry:set()cout<<"输入ID "cin>>ID;cout<<"输入姓名 "cin>>name;cout<<"输入性别 "cin>>sex;cout<<"输入年龄 "cin>>age;cout<<

10、;"输入职务 "cin>>zhiwu;system("cls");bcsj(); dqsj();void glry:xg()char c,x;for(c='y'c='y'|c='Y')cout<<"请选择修改内容 1 ID 2 姓名 3 性别 4 年龄 5 职务"<<endl;cin>>x;switch(x) case '1':cout<<"请输入ID "cin>>ID;break

11、;case '2':cout<<"请输入姓名 "cin>>name;break;case '3':cout<<"请输入性别 "cin>>sex;break;case '4':cout<<"请输入年龄 "cin>>age;break;case '5':cout<<"请输入职务 "cin>>zhiwu;break;default: cout<<&qu

12、ot;无此操作选项"<<endl;break;cout<<" 还要修改该物业管理人员信息吗?Y是,N否"<<endl;cin>>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()cout<<"输入缴费年月(如200808) "cin>>sj;cou

13、t<<"输入实缴费用 "cin>>sjfy;cout<<"输入应缴费用 "cin>>yjfy;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;cout<<"输入ID "cin>>

14、;ID;cout<<"输入姓名 "cin>>name;cout<<"输入性别 "cin>>sex;cout<<"输入年龄 "cin>>age;system("cls");bcsj(); dqsj();void yz:xg()char c,x; / c 循环 , x 选择操作的符for(c='y'c='y'|c='Y')cout<<"请选择修改内容 1 ID、 2 姓名、 3

15、性别 、4 年龄 "<<endl;cin>>x;switch(x) case '1':cout<<"请输入ID "cin>>ID;break;case '2':cout<<"请输入姓名 "cin>>name;break;case '3':cout<<"请输入性别 "cin>>sex;break;case '4':cout<<"请输入年龄 &quo

16、t;cin>>age;break;default: cout<<"无此操作选项"<<endl;break;cout<<" 继续修改此业主信息吗?Y是,N否"<<endl;cin>>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

17、; string M; /M 输入ID ,j 业主循环,i 管理、总费用循环,char c='y' /是否循环的初始条件void tjfyjl() /添加缴费记录for(c='y'c='y'|c='Y')system("cls"); dqsj();cout<<"请输入缴费业主ID "cin>>M;for(j=0;j<h;j+)k=yz_j.qrID(M);if(k)yz_j.fy+(yz_j.fyxb).id=yz_j.ID;yz_j.fy(yz_j.fyxb)

18、.set();break;if(k=0)cout<<"此业主ID不存在"<<endl;cout<<"还要继续查询吗?Y是 ,N否"<<endl;cin>>c;void yzjfcx() /业主缴费查询函数int cx;for(c='y'c='y'|c='Y')system("cls");dqsj();cout<<"请输入查询缴费业主ID "cin>>M;for(j=0;j<h;j

19、+)cx=yz_j.qrID(M);if(cx=1)cout<<"日期 实缴费用 应缴费用"<<endl;k=yz_j.fyxb;for(;k>=0;k-)cout<<setiosflags(ios:left)<<setw(8)<<yz_j.fyk.sj;cout<<setiosflags(ios:fixed)<<setprecision(2)<<setw(12)<<yz_j.fyk.sjfy<<setw(8)<<yz_j.fyk.yjf

20、y<<endl;break;if(cx=0) cout<<"此业主ID不存在"<<endl;cout<<"还要继续查询吗?Y是 ,N否"<<endl;cin>>c;void rqjfcx() /日期缴费查询int rq,cx,cx1=0;for(c='y'c='y'|c='Y')system("cls"); dqsj();cout<<"请输入查询的缴费年月(如200808)"<&

21、lt;endl;cin>>rq;cout<<"业主ID 实缴费用 应缴费用"<<endl;for(i=0;i<h1;i+)cx=(zfyi.sj=rq);if(cx=1)cx1=1;cout<<setiosflags(ios:left)<<setw(10)<<zfyi.id;cout<<setiosflags(ios:fixed)<<setprecision(2)<<setw(12)<<zfyi.sjfy<<setw(8)<<

22、zfyi.yjfy<<endl;if(cx1=0) cout<<"此日期无人缴费"<<endl;cout<<"还要继续查询吗?Y是 ,N否"<<endl;cin>>c;void wykxtj() /物业公司开销统计函数int sjd1,sjd2;for(c='y'c='y'|c='Y')system("cls"); dqsj();cout<<"请输入要统计的时间段 (如200801 200806

23、)"<<endl;cin>>sjd1>>sjd2;float z1=0,z2=0;for(i=0;i<h1;i+)if(zfyi.sj>=sjd1&&zfyi.sj<=sjd2)z1+=zfyi.sjfy;z2+=zfyi.yjfy;cout<<"该时间段内物业公司开销情况如下: "<<endl;cout<<" 收入 "<<z1<<"元"<<endl;cout<<"

24、; 支出 "<<z2<<"元"<<endl;cout<<"还要继续统计吗?Y是 ,N否"<<endl;cin>>c;void xgyzxx() /修改业主信息函数int u=0;for(c='y'c='y'|c='Y')cout<<"请输入要修改的业主ID "cin>>M;for(j=0;j<h;j+)u=yz_j.qrID(M);if(u) yz_j.xg();system(

25、"cls");bcsj(); dqsj();break; if(u=0)cout<<"此业主ID不存在"<<endl;cout<<"还要修改其他业主信息吗?Y是 ,N否"<<endl;cin>>c;void tjyz() /添加业主函数for(c='y'c='y'|c='Y')cout<<"请输入要添加的业主信息"<<endl;yz_h+.set();system("cls&

26、quot;);bcsj(); dqsj();cout<<"还要添加其他业主吗?Y是 ,N否"<<endl;cin>>c;void scyz() /删除业主函数int u=0;for(c='y'c='y'|c='Y')cout<<"请输要删除的业主ID "cin>>M;for(j=0;j<h;j+)u=yz_j.qrID(M);if(u=1)yz_j=yz_-h;system("cls");bcsj(); dqsj();br

27、eak;if(u=0) cout<<"此业主ID不存在"<<endl; cout<<"还要删除其他业主吗?Y是 ,N否"<<endl;cin>>c;void xgglryxx() /修改管理人员信息函数int u=0;for(c='y'c='y'|c='Y')cout<<"请输入要修改的管理人员ID "cin>>M;for(i=0;i<h2;i+)u=glry_i.qrID(M);if(u) glr

28、y_i.xg();system("cls");bcsj(); dqsj();break; if(u=0) cout<<"此管理人员ID不存在"<<endl; cout<<"还要修改其他管理人员信息吗?Y是 ,N否"<<endl;cin>>c;void tjglry() /添加管理人员函数for(c='y'c='y'|c='Y')cout<<"请输入要添加的管理人员信息"<<endl;g

29、lry_h2+.set();system("cls");bcsj(); dqsj();cout<<"还要添加其他管理人员吗?Y是 ,N否"<<endl;cin>>c;void scglry() /删除管理人员函数int u=0;for(c='y'c='y'|c='Y')cout<<"请输要删除的管理人员ID "cin>>M;for(i=0;i<h2;i+)u=glry_i.qrID(M);if(u=1) glry_i=gl

30、ry_-h2;system("cls");bcsj(); dqsj(); break; if(u=0) cout<<"此管理人员ID不存在"<<endl; cout<<"还要删除其他管理人员吗?Y是 ,N否"<<endl;cin>>c;void tcxt() /退出系统cout<<"ttt*"<<endl;cout<<"ttt* *"<<endl;cout<<"ttt

31、* 正在退出物业管理系统 *"<<endl;cout<<"ttt* *"<<endl;cout<<"ttt*"<<endl;cout<<"tttttttt版权所有 张万"<<endl;exit(1);void xzcz() /选择操作函数char xz; / xz 选择符system("cls"); dqsj();cout<<"n 0添加缴费记录 "<<endl;cout<

32、<" 1业主缴费查询 2日期缴费查询 3物业公司开销统计 "<<endl;cout<<"请选择操作:4修改业主信息 5添加业主 6删除业主 "<<endl;cout<<" 7修改管理人员信息 8添加管理人员 9删除管理人员 .退出 n "<<endl;cin>>xz;switch(xz)default: cout<<"无此操作选项"<<endl;break;case '0':tjfyjl();bre

33、ak; /添加缴费记录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; /修改管理人员信息

34、函数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+;cout<<"n业主总数为:"&

35、lt;<h<<endl; /显示业主总数fin.clear();fin.seekg(0,ios:beg);cout<<"业主ID 姓名 性别 年龄"<<endl;for(j=0;j<h;j+)fin>>yz_j.ID>>yz_>>yz_j.sex>>yz_j.age;cout<<setiosflags(ios:left)<<setw(10)<<yz_j.ID<<setw(11)<<yz_<&

36、lt;setw(7)<<yz_j.sex<<setw(5)<<yz_j.age<<endl; / 显示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;i<h1;i+) fin1>>zfyi.id>>zfyi.sj>>zfyi.sjfy>>zfy

37、i.yjfy; fin1.close();/ /把费用记录赋给个业主 for(j=0;j<h;j+) k=0;for(i=0;i<h1;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+; cout<<"n管理人员总人数为:"<<h2<<endl; /显示管理人员总人数fin2.clear();fin2

38、.seekg(0,ios:beg); /指针返回文件头cout<<"管理员ID 姓名 性别 年龄 职务"<<endl;for(i=0;i<h2;i+)fin2>>glry_i.ID>>glry_>>glry_i.sex>>glry_i.age>>glry_i.zhiwu;cout<<setiosflags(ios:left)<<setw(10)<<glry_i.ID<<setw(11)<<glry_<<setw(7)<<glry_i.sex; /显示f2cout<<setw(7)<<glry_i.age<<setw(20)<<glry_i.zhiwu<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论