c++程序设计课程设计电费管理系统.doc

上传人:仙人指路1688 文档编号:2384410 上传时间:2023-02-17 格式:DOC 页数:26 大小:487.50KB
返回 下载 相关 举报
c++程序设计课程设计电费管理系统.doc_第1页
第1页 / 共26页
c++程序设计课程设计电费管理系统.doc_第2页
第2页 / 共26页
c++程序设计课程设计电费管理系统.doc_第3页
第3页 / 共26页
c++程序设计课程设计电费管理系统.doc_第4页
第4页 / 共26页
c++程序设计课程设计电费管理系统.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《c++程序设计课程设计电费管理系统.doc》由会员分享,可在线阅读,更多相关《c++程序设计课程设计电费管理系统.doc(26页珍藏版)》请在三一办公上搜索。

1、C+ 课程设计报告课 题: 电费管理系统 专业班级: 学 号: 姓 名: 同组姓名: 指导老师: 设计时间: 2006年下学期第1819周 评阅意见:评定成绩: 指导老师签名: 年 月 日一 课程设计的目的和意义电费管理系统是每一个电资源管理机构管理电资源用户及电费缴纳情况的不可缺少的一个管理信息系统,它的内容对于电资源管理机构的管理者来说是至关重要的,所以电费管理系统应该能够为每一个电资源管理机构的管理者提供充足的信息和快捷的查询手段,大大的方便电资源管理机构的管理者的合理管理。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越

2、重要的作用。作为计算机应用的一部分,使用计算机对电资源用户及电费缴纳情况进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高电资源用户及电费缴纳情况管理的效率,也是电资源管理机构帐收费的科学化、正规化管理,与先进科学技术接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,对于我们计算机专业的学生来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动二 系统实现2.1:概要设计阶段的主要任务类里面本人主要负责所有基础类及charge类、user类、acount类和price类;菜单里本人主要负责管

3、理员里面的价格调整菜单和查询菜单;配合组长工作;2.2 电费管理系统结构图 登陆普通用户登陆管理员登陆 信息查询统计菜单价格调整用户管理显示所有信息用户信息存档收费菜单修改个人信息查看个人信息 价格调整用户管理销户修改开户 企业价格个人价格统计菜单统计用户状况统计欠费信息统计所有信息统计个人信息按时间段统计 查询菜单查询所有信息查询个人信息 2.3:程序流程图开始 用户登录判断用户名或密码是否正确 NO YES判断用户类型 管理员 普通用户执行普通用户所有操作执行管理员所有操作退出三 系统实现系统各功能的运行时界面及使用说明。1.主窗口;下图为管理员登陆后的主菜单界面,我主要负责里面的价格调整

4、菜单和查询菜单;2:价格调整价格调整的程序:void administrate4_1()cout=进入企业用户价格调整菜单= endl;couta;price *i= new price();i-setqyamount(2);i-setgramount(a);i-next=head3;head3=i;cout修改成功!endl;system(pause);administrate2();system(cls);return;void administrate4_2()cout=进入个人价格调整菜单 = endl;int a;couta;price *i= new price();i-setgr

5、amount(1);i-setqyamount(a);i-next=head3;head3=i;cout修改成功!endl;administrate2();system(pause);system(cls);return;void administrate4() int tz;coutnn=进入价格调整菜单= endl;coutt endl; coutt|1)调整企业用户电费单价|endl;coutt|_|endl;coutt|2)调整个人用户电费单价|endl;coutt|_|endl;coutt|3)返回上级菜单 |endl;coutt|_|endl; couttz;system(cls)

6、;switch(tz)case 1:administrate4_1();administrate4();return;case 2:administrate4_2();administrate4();return;case 3:return;首先进入管理员菜单继续按“4”进入价格调整菜单;然后随用户需求任选进入企业或个人价格调整:如键入:1得到运行结果:此次修改保存到4.txt3:查询菜单查询菜单的程序:void administrate6_2_1()/显示所有用户登录信息cout=显示所有用户登陆信息=endl;p=head;int i=1;int j=1;cout编号t用户名t用户密码t用

7、户级别tendl;while(p!=NULL)coutendli+tgetusername()tgetpassword()ttgetlevel()next;system(pause);void administrate6_2_2()/显示所有用户基本信息 cout=显示所有用户基本信息=endl;int j=1;p1=head1;cout次序 编号 姓名 身份证号 类别 状态 endl;while(p1!=NULL)coutendlj+ getNO() getname() getidentify() getlevel() getcondition()next;system(pause);voi

8、d administrate6_2_3()/显示所有用户基本信息 cout=显示所有用户缴费信息=endl;int j=1;p2=head2;cout次序 名字 类型 年 月 用电量 单价 应缴 实缴 余额endl;while(p2!=NULL)coutendlj+ getyhm() getlei() getyear() getmonth() getydl() getamount() getspay() getypay() getyuer()next;system(pause);void administrate6_1_1()/显示所有用户登录信息cout=显示所有用户登陆信息=endl;p=

9、head;char name20;coutname;cout编号t用户名t用户密码t用户级别tgetusername()=0)coutendli+tgetusername()tgetpassword()ttgetlevel()next;system(pause);void administrate6_1_2()/显示所有用户基本信息 cout=显示所有用户基本信息=endl;int j=1;char name20;p1=head1;coutname;cout次序 编号 姓名 身份证号 类别 状态 getname()=0)coutendlj+ getNO() getname() getident

10、ify() getlevel() getcondition()next;system(pause);void administrate6_1_3()/显示用户基本信息 cout=显示所有用户缴费信息=endl;int j=1;char name20;p2=head2;coutname;cout次序 名字 类型 年 月 用电量 单价 应缴 实缴 余额getyhm()=0)coutendlj+ getyhm() getlei() getyear() getmonth() getydl() getamount() getspay() getypay() getyuer()next;system(pa

11、use);void administrate6_1()int h;coutnn=查询个人用户信息=endl;coutt _endl;coutt|1)查询个人用户登录信息|endl;coutt|_|endl;coutt|2)查询个人用户基本信息|endl;coutt|_|endl;coutt|3)查询个人用户费用信息|endl;coutt|_|endl;coutt|4)返回上级菜单 |endl;coutt|_|endl;cout=nendl;couth;system(cls);switch(h)case 1:administrate6_1_1();administrate6_1();break

12、;case 2:administrate6_1_2();administrate6_1();break;case 3:administrate6_1_3();administrate6_1();break;case 4:return;void administrate6_2()int g;coutnn=查询所有用户信息=endl;coutt _endl;coutt|1)查询所有用户登录信息|endl;coutt|_|endl;coutt|2)查询所有用户基本信息|endl;coutt|_|endl;coutt|3)查询所有用户费用信息|endl;coutt|_|endl;coutt|4)返回上

13、级菜单 |endl;coutt|_|endl;cout=nendl;coutg;system(cls);switch(g)case 1:administrate6_2_1();administrate6_2();break ;case 2:administrate6_2_2();administrate6_2();break;case 3:administrate6_2_3();administrate6_2();break;case 4:return;void administrate6()coutnnt=进入查询菜单= endl;int s;coutt endl; coutt|1)查询个人

14、信息 |endl;coutt|_|endl;coutt|2)查询所有信息 |endl;coutt|_|endl;coutt|3)返回上级菜单 |endl;coutt|_|endl; couts;system(cls);switch(s)case 1:administrate6_1();administrate6();return;case 2:administrate6_2();administrate6();case 3:break;首先进入管理员菜单界面;如下图;按“6”进入查询菜单;(如图)里面有2个查询功能;按“1”查询个人信息;继续按“1”查询个人登录信息;(如下图)输入“ys”得到

15、如下界面(用户级别“0”代表是管理员,“1”代表普通用户,“2”代表停用的用户),登录信息是储存在1.txt里,回到主菜单界面,按“2”进入查询个人用户基本信息;输入“叶飞”显示如下界面,其中的基本信息来源于2.txt;然后回到主菜单界面,按“3”进入查询个人用户费用信息;输入“叶飞”得到如下界面;再返回查询菜单,输入“2”查询所有信息(如下图);选择“1”查询所有用户的登录信息,也就是1.txt上的内容;如下图;又返回查询菜单,接着输入“2”进入查询所有用户基本信息,也就是2.txt上的内容;如下图;返回产讯菜单,按“3”进入查询所有用户费用信息,也就是3.txt上的内容;如下图;四 、ch

16、arge类、user类、acount类和price类#includeclass acount/基本信息类int NO;/编号char level20;/企业.个人char condition20;/正常,停用char name20;char identify18;/身份证public:char * getname() return name;void setname(char * temp)strcpy(name,temp);char * getidentify()return identify;void setidentify(char *temp)strcpy(identify,temp)

17、;char * getlevel()return level;void setlevel(char *temp)strcpy(level,temp);int getNO()return NO;void setNO(int temp)NO=temp;char * getcondition()return condition;void setcondition(char *temp)strcpy(condition,temp);class acount * next;/全局变量acount * head1=NULL;acount * x1=NULL;acount * p1=NULL;acount

18、* q1=NULL;class charge/收费类char yhm20;/用户名int amount;/单价char lei20;/类型int year;/年int month;/月int ydl;/用电量double ypay;/应缴double spay;/实缴int yuer;/余额public:void setyhm(char * temp)strcpy(yhm,temp);void setspay(int temp)spay=temp;void setypay(int temp)ypay=temp;void setlei(char * temp)strcpy(lei,temp);c

19、har * getyhm()return yhm;void setydl(int temp)ydl=temp; void setyuer(int temp)yuer=temp;void settime(int temp1,int temp2)year=temp1;month=temp2;void setamount(int temp=2) amount=temp;char * getlei()return lei;int getyear()return year;int getmonth()return month;int getydl()return ydl;int getyuer()ret

20、urn yuer;double getypay()return ypay=ydl*amount;double getspay()return spay;int getamount()return amount;class charge *next;charge * head2=NULL;charge * x2=NULL;charge * p2=NULL;charge * q2=NULL;class user /用户类/思考题:如果用户出现重名的情况 ,要如何修改 char username20;/用户名 不超过19位字符char password20;/用户密码 不超过19位字符int lev

21、el;/用户级别 0-管理员 1-普通用户public:char * getusername() return username;void setusername(char * temp)strcpy(username,temp);char * getpassword()return password;void setpassword(char * temp)strcpy(password,temp);int getlevel()return level;void setlevel(int temp)level=temp;class user * next;/全局变量user * head=N

22、ULL;user * x=NULL;user * p=NULL;user * q=NULL;class price/价格类int gramount;/个人单价int qyamount;/企业单价public:void setgramount(int temp=1) gramount=temp;void setqyamount(int temp=2) qyamount=temp;int getgramount()return gramount;int getqyamount()return qyamount;class price * next;price * head3=NULL;price

23、* x3=NULL;price * p3=NULL;price * q3=NULL; 五:小结通过为期两周的课程设计使我对有小区电费管理系统有了更深的认识和理解,也使我更加明白小区电费管理系统在人们的生活中的重要性和地位。小区电费管理系统采用模块化结构和高性能的微处理器技术,具有很高的处理能力和更大的接入密度,可以为人们生活用电提供全方位的网络解决方案。但是我的小区电费管理系统程序还是有一定的缺陷,譬如,数据的读出与数据的修改以及模糊搜索还是做得不太好,还有用户重名,以及各个类的联合还是做得不够细致,而且由于第一次写这么长的程序,程序的精简度还是不够,比较冗长,以后要多加学习, 巩固基础,多多学习,接受以及应用新编程知识,懂得掌握更加精辟的思维方式来缩短程序的代码长度,简洁程序,使程序可读性怎强以及运行速度变得更加快。六:参考文献1、 C+面向对象程序设计教程2、 谭浩强.C+程序设计.北京:清华大学出版社,20043、 编程网站:4、 编程论坛:

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号