物业管理系统课设.docx

上传人:b****3 文档编号:27049904 上传时间:2023-06-26 格式:DOCX 页数:27 大小:26.18KB
下载 相关 举报
物业管理系统课设.docx_第1页
第1页 / 共27页
物业管理系统课设.docx_第2页
第2页 / 共27页
物业管理系统课设.docx_第3页
第3页 / 共27页
物业管理系统课设.docx_第4页
第4页 / 共27页
物业管理系统课设.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

物业管理系统课设.docx

《物业管理系统课设.docx》由会员分享,可在线阅读,更多相关《物业管理系统课设.docx(27页珍藏版)》请在冰豆网上搜索。

物业管理系统课设.docx

物业管理系统课设

 

面向对象程序设计

课程设计报告

 

课程设计题目:

物业管理系统

 

专业班级:

网络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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1