物业管理系统课设.docx
- 文档编号:27049904
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:27
- 大小:26.18KB
物业管理系统课设.docx
《物业管理系统课设.docx》由会员分享,可在线阅读,更多相关《物业管理系统课设.docx(27页珍藏版)》请在冰豆网上搜索。
物业管理系统课设
面向对象程序设计
课程设计报告
课程设计题目:
物业管理系统
专业班级:
网络081
学号:
41
姓名:
王荣祥
成绩:
2010年1月17日
课程设计文档 ----小区物业管理系统
1.需求分析:
需要实现的主要功能如下:
(1)添加缴费记录,年份,费用。
(2)业主缴费查询函数,业主ID,应缴费用,实缴费用。
(3)日期缴费查询,时间,缴费。
(4)物业公司开销统计函数,时间段,收入,支出。
(5)修改业主信息函数,业主ID,需要修改的属性。
(6)添加业主函数,ID,姓名,性别,年龄。
(7)删除业主函数,要删除的ID。
(8)修改管理人员信息函数,管理员ID,需要修改的属性。
(9)添加管理人员函数:
ID,姓名,性别,年龄。
2.
glry
____________________________________
+ID:
string
+name:
string
+sex:
string
+age:
string
+zhiwu:
string
____________________________________
+set():
void
+xg():
void
+qrID(M:
sting):
int
Yz
______________________________________
+ID:
string
+name:
string
+sex:
string
+age:
string
______________________________________
+set():
void
+xg():
void
+qrID(M:
sting):
int
+fyxb:
int
全局
tjfyjl():
void
yzjfcx():
void
rqjfcx():
void
wykxtj():
void
xgyzxx():
void
tjyz():
void
scyz():
void
xgglryxx():
void
tjglry():
void
scglry():
void
tcxt():
void
xzvz():
void
dqsj():
void
bcsj():
void
3.定义函数的主要功能:
(1)classglry类(管理人员)
set():
设置ID,姓名,性别,年龄,职务。
xg():
修改ID,姓名,性别,年龄,职务。
qrID():
确认ID。
(2)classfyl类(费用)
set():
输入缴费年月,输入实缴费用,输入应缴费用。
(3)classyz类(业主)
set():
设置业主ID,姓名,性别,年龄。
xg():
修改业主ID,姓名,性别,年龄。
qrID():
确认ID。
(4)fylzfy[ZF],glryglry_[G],yzyz_[Y]全局对象
tjfyjl():
添加缴费记录。
yzjfcx():
业主缴费查询。
rqjfcx():
日期缴费查询。
wykxtj():
物业公司开销统计。
xgyzzxx():
修改业主信息。
tjyez():
添加业主。
scyz():
删除业主。
xgglryxx():
修改管理人员信息。
tjglry():
添加管理人员。
scglry():
删除管理人员。
tcxt():
退出系统界面。
xzcz():
选择操作界面。
dqsj():
读取文件操作。
bcsj():
保存数据。
4.主要算法说明:
(1):
Main函数中循环调用了读取数据函数,和选择操作函数。
(2):
通过读取数据函数,把客户和管理人员的信息,以及缴费,和公司的统计都输入到f,f1,f2文件中。
(3):
通过选择操作函数,调用了全局各个操作。
5.系统总框图:
成员链表
各个函数
退出
文件
用户菜单
主函数
6.存在的问题:
(1):
公司的收支只是做了个简单的统计,如果要做的更详细的话会更好。
(2):
关于密码的输入还是存在缺陷,在输入密码错误后会出现:
密码错误请选择操作字样,但是在这一操作中乱打的话还是可以进入系统的。
7.操作手册:
运行程序后会出现:
“请输入密码”,输入:
123456后进入程序,然后会有很多菜单操作:
0.添加缴费记录1.业主缴费查询2.日期缴费查询3.物业公司开销统计4.修改业主信息5.添加业主6.删除业主7.修改管理人员信息8.添加管理人员9.删除管理人员。
.退出。
选择相应的选项进入下部操作。
输入“.”退出系统。
8.源程序代码及说明:
#include
#include
#include
#include
#include
#defineG10//管理人员数
#defineY20//业主数
#defineF10//个业主费用记录数
#defineZF50//总费用记录数
usingnamespacestd;
intmima()
{
intx=1,i=0;
stringxh="1";//xh循环
voidtcxt();
for(;xh=="1";)
{
i++;
charpsw[11],A[]="123456";
charch;
intpos=0;
cout<<"请输入密码"< while((ch=getch())! ='\r') { if(ch=='\b')//'\b'是退格 { pos--; if(pos<0) { pos=0; continue; } cout<<"\b\b";//退一格,输出空格,再退一格 } else { if(pos<10) { psw[pos++]=ch; cout<<'*'; } } } cout< psw[pos]='\0'; if(strcmp(A,psw)==0) { cout<<"\t\t\t\t密码正确正在进入系统"< system("cls");//清屏 cout<<"\t\t\t********************************"< cout<<"\t\t\t**"< cout<<"\t\t\t*欢迎进入物业管理系统*"< cout<<"\t\t\t**"< cout<<"\t\t\t********************************"< break; } else { if(i==3){cout<<"连续输入密码错误3次将被强制退出系统"< cout<<"密码错误请选择1继续0退出"< cin>>xh; if((xh! ="1")&&(xh! ="0")) { cout<<"无次操作符请重新输入操作符"< cin>>xh; } if(xh=="0")x=0; system("cls");//清屏 } } return(x); } voidbcsj(),dqsj(); classglry//////////////////////管理人员类 { public: stringID; stringname; stringsex; stringage; stringzhiwu; voidset(); voidxg();//修改 intqrID(stringM);//确认ID }; voidglry: : set() { cout<<"输入ID"; cin>>ID; cout<<"输入姓名"; cin>>name; cout<<"输入性别"; cin>>sex; cout<<"输入年龄"; cin>>age; cout<<"输入职务"; cin>>zhiwu; system("cls");bcsj();dqsj(); } voidglry: : xg() { charc,x; for(c='y';c=='y'||c=='Y';) { cout<<"请选择修改内容1ID2姓名3性别4年龄5职务"< 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<<"请输入年龄";cin>>age;break; case'5': cout<<"请输入职务";cin>>zhiwu;break; default: cout<<"无此操作选项"< } cout<<"还要修改该物业管理人员信息吗? Y是,N否"< cin>>c; } } intglry: : qrID(stringM) { intx=0; if(M==ID)x=1; return(x); } classfyl//////////////////////费用类 { public: stringid; intsj; floatsjfy,yjfy; voidset(); }; voidfyl: : set() { cout<<"输入缴费年月(如200808)"; cin>>sj; cout<<"输入实缴费用"; cin>>sjfy; cout<<"输入应缴费用"; cin>>yjfy; bcsj(); } classyz///////////////////业主类 { public: stringID; stringname; stringsex; stringage; fylfy[F]; intfyxb;//业主总激费次数下标 voidset(); voidxg();//修改 intqrID(string);//确认ID }; voidyz: : set() { fyxb=-1; cout<<"输入ID"; cin>>ID; cout<<"输入姓名"; cin>>name; cout<<"输入性别"; cin>>sex; cout<<"输入年龄"; cin>>age; system("cls");bcsj();dqsj(); } voidyz: : xg() { charc,x;//c循环,x选择操作的符 for(c='y';c=='y'||c=='Y';) { cout<<"请选择修改内容1ID、2姓名、3性别、4年龄"< 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<<"请输入年龄";cin>>age;break; default: cout<<"无此操作选项"< } cout<<"继续修改此业主信息吗? Y是,N否"< cin>>c; } } intyz: : qrID(stringM) { intx=0; if(M==ID)x=1; return(x); } ////////////////////////////////////////////////////////// externfylzfy[ZF];// externglryglry_[G];//全局对象 externyzyz_[Y];//全局对象 externinth,h1,h2; inti=0,j=0,k=0;stringM;//M输入ID,j业主循环,i管理、总费用循环, charc='y';//是否循环的初始条件 voidtjfyjl()//添加缴费记录 { for(c='y';c=='y'||c=='Y';) { system("cls");dqsj(); cout<<"请输入缴费业主ID"; cin>>M; for(j=0;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不存在"< cout<<"还要继续查询吗? Y是,N否"< cin>>c; } } voidyzjfcx()//业主缴费查询函数 { intcx; for(c='y';c=='y'||c=='Y';) { system("cls");dqsj(); cout<<"请输入查询缴费业主ID"; cin>>M; for(j=0;j { cx=yz_[j].qrID(M); if(cx==1) { cout<<"日期实缴费用应缴费用"< k=yz_[j].fyxb; for(;k>=0;k--) { cout< : left)< cout< : fixed)< (2)< } break; } } if(cx==0)cout<<"此业主ID不存在"< cout<<"还要继续查询吗? Y是,N否"< cin>>c; } } voidrqjfcx()//日期缴费查询 { intrq,cx,cx1=0; for(c='y';c=='y'||c=='Y';) { system("cls");dqsj(); cout<<"请输入查询的缴费年月(如200808)"< cin>>rq; cout<<"业主ID实缴费用应缴费用"< for(i=0;i { cx=(zfy[i].sj==rq); if(cx==1) { cx1=1; cout< : left)< cout< : fixed)< (2)< } } if(cx1==0)cout<<"此日期无人缴费"< cout<<"还要继续查询吗? Y是,N否"< cin>>c; } } voidwykxtj()//物业公司开销统计函数 { intsjd1,sjd2; for(c='y';c=='y'||c=='Y';) { system("cls");dqsj(); cout<<"请输入要统计的时间段(如200801200806)"< cin>>sjd1>>sjd2; floatz1=0,z2=0; for(i=0;i { if(zfy[i].sj>=sjd1&&zfy[i].sj<=sjd2) { z1+=zfy[i].sjfy; z2+=zfy[i].yjfy; } } cout<<"该时间段内物业公司开销情况如下: "< cout<<"收入"< cout<<"支出"< cout<<"还要继续统计吗? Y是,N否"< cin>>c; } } voidxgyzxx()//修改业主信息函数 { intu=0; for(c='y';c=='y'||c=='Y';) { cout<<"请输入要修改的业主ID"; cin>>M; for(j=0;j { u=yz_[j].qrID(M); if(u){yz_[j].xg();system("cls");bcsj();dqsj();break;} } if(u==0) {cout<<"此业主ID不存在"< cout<<"还要修改其他业主信息吗? Y是,N否"< cin>>c; } } voidtjyz()//添加业主函数 { for(c='y';c=='y'||c=='Y';) { cout<<"请输入要添加的业主信息"< yz_[h++].set(); system("cls");bcsj();dqsj(); cout<<"还要添加其他业主吗? Y是,N否"< cin>>c; } } voidscyz()//删除业主函数 { intu=0; for(c='y';c=='y'||c=='Y';) { cout<<"请输要删除的业主ID"; cin>>M; for(j=0;j { u=yz_[j].qrID(M); if(u==1) { yz_[j]=yz_[--h]; system("cls");bcsj();dqsj(); break; } } if(u==0) {cout<<"此业主ID不存在"< cout<<"还要删除其他业主吗? Y是,N否"< cin>>c; } } voidxgglryxx()//修改管理人员信息函数 { intu=0; for(c='y';c=='y'||c=='Y';) { cout<<"请输入要修改的管理人员ID"; cin>>M; for(i=0;i { u=glry_[i].qrID(M); if(u){glry_[i].xg();system("cls");bcsj();dqsj();break;} } if(u==0) {cout<<"此管理人员ID不存在"< cout<<"还要修改其他管理人员信息吗? Y是,N否"< cin>>c; } } voidtjglry()//添加管理人员函数 { for(c='y';c=='y'||c=='Y';) { cout<<"请输入要添加的管理人员信息"< glry_[h2++].set(); system("cls");bcsj();dqsj(); cout<<"还要添加其他管理人员吗? Y是,N否"< cin>>c; } } voidscglry()//删除管理人员函数 { intu=0; for(c='y';c=='y'||c=='Y';) { cout<<"请输要删除的管理人员ID"; cin>>M; for(i=0;i { u=glry_[i].qrID(M); if(u==1) {glry_[i]=glry_[--h2];system("cls");bcsj();dqsj();break;} } if(u==0) {cout<<"此管理人员ID不存在"< cout<<"还要删除其他管理人员吗? Y是,N否"< cin>>c; } } voidtcxt()//退出系统 { cout<<"\t\t\t********************************"< cout<<"\t\t\t**"< cout<<"\t\t\t*正在退出物业管理系统*"< cout<<"\t\t\t**"< cout<<"\t\t\t********************************"< cout<<"\t\t\t\t\t\t\t\t版权所有"< exit (1); } voidxzcz()//选择操作函数 { charxz;//xz选择符 system("cls");dqsj(); cout<<"\n0添加缴费记录"< cout<<"1业主缴费查询2日期缴费查询3物业公司开销统计"< cout<<"请选择操作: 4修改业主信息5添加业主6删除业主"< cout<<"7修改管理人员信息8添加管理人员9删除管理人员.退出\n"< cin>>xz; switch(xz) { default: cout<<"无此操作选项"< case'0': tjfyjl();break;//添加缴费记录 ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物业管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)