水电煤气管理系统讲课教案.docx
- 文档编号:26637497
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:36
- 大小:295.78KB
水电煤气管理系统讲课教案.docx
《水电煤气管理系统讲课教案.docx》由会员分享,可在线阅读,更多相关《水电煤气管理系统讲课教案.docx(36页珍藏版)》请在冰豆网上搜索。
水电煤气管理系统讲课教案
课程设计成果
学院:
_计算机工程学院_____
班级:
_计算机科学与技术
(一)
学生姓名:
姜桥学号:
2009404010121
设计地点(单位)___A5-101_______________________
设计题目:
___电煤气管理系统___________________________
完成日期:
2012年1月5日
指导教师评语:
_______________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
教师签名:
_________________________
一.课程设计目的和要求……………………………………2
二.课题分析……………………………………2
三.设计……………………………………2-3
1.设计思想
2.设计分析
四.主程序……………………………………3-19
五.结果显示及分析…………………………………19-21
六.感想、收获及体会……………………………………21
七.参考文献……………………………………22
附录……………………………………22
1.课程设计目的和要求
问题描述:
设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
基本要求:
实现对用户信息的录入
实现水电煤气数据的录入
计算并查询用户应缴费用
查询未缴纳费用名单
测试数据:
可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。
实现提示:
用户基本信息类,教工用户信息类,学生用户信息类,收费标准类,该类存储水电煤气标准单位的收费标准,如:
煤气,1.0元/立方米;
不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。
在实现的时候考虑继承和多态技术的合理使用。
二.课题分析:
本程序是一个水电气管理信息系统,能够对高校的水电气费用进行管理,包括了成员基本信息,如学号、编号、姓名、成员水电气的用量;程序的用途包括缴纳水电气费、查询一个同学水电气费用量"、查看所有同学的缴费情况、增加学生信息、删除学生信息、退出系统等。
在设计时也考虑到学生和教师在用水电气时的不同,学生可以免费使用一定额度的水电气,超过这个额度的以后必须付费,且付费部分水电气费的价格要高于教工的收费标准,该措施的实行是为了鼓励同学们节约用水,以免造成不必要的资源浪费。
该软件主要是为了学校的管理人员提供便捷,以更快的完成水电气费用的收缴。
3.设计
1.设计思想:
设计面向对象的程序设计语言,首先考虑的肯定是要设计类。
程序设计了四个类,两个是学生类,两个是教师类。
在主函数中用动态数组,机动的分配类存,以至于不造成类存的浪费。
在本程序中涉及用户的选择,用户要根据自己的实际需要选择不同的功能,由于选择的多样性,程序中必须要有switch结构控制各个功能的选择,如果需要多次进行操作,则要在switch结构的外部,通过循环来实现。
首先该程序的第一目的是要读附录里的内容,然后再根据用户的选项来实现各种不同的功能,当正确按照要求就可进行更进一步进行操作,直到你达到自己的目的为止。
本程序通过调用不同的函数来实现不同的功能,通过用户自己的选择可以自己进行操作,在主函数中申明的函数分别起到不同的作用,在本程序中所有的子函数都是在主函数外实现的。
在子函数的函数体中为了使程序的功能和细节更加的完善,在子函数中设置菜单,这样不仅使得程序更加完善还有利于用户的操作。
使得程序更加简洁明了。
2.设计分析:
在这个电煤气管理系统中,共用到了四个类,一个是stut类,它起的作用是把水电煤气的用量和每个人的缴费信息结合在一起,还有赋值运算符重载、插入运算符重载,最重要的就是那些对象都有共同的属性,通过这个类把学号、姓名、水用量、电用量、气用量集中到一起,所以才能设计一个类;另一个类就是arrayofStu学生类计算类,这个类的作用主要就是一些功能的实现,有主菜单、交费菜单、交费功能和、查询菜单、查询功能、增加功能、删除菜单、删除功能、查看功能。
同样定义一个teacher它起的作用是把水电煤气的用量和每个人的缴费信息结合在一起,还有赋值运算符重载、插入运算符重载,最重要的就是那些对象都有共同的属性,通过这个类把姓名、水用量、电用量、气用量集中到一起,所以才能设计一个类;其另一个类就是arrayofTeacher老师类数组计算,这个类的作用主要就是一些功能的实现,有主菜单、交费菜单、交费功能和、查询菜单、查询功能、增加功能、删除菜单、删除功能、查看功能
四.主程序
#include"iostream"
#include"string"
#include"fstream"
#include"iomanip"
usingnamespacestd;
intcount1=0,count11=0;//学生总数和交钱的人数
intcount2=0,count22=0;
classStu
{
public:
Stu(doublexwater=0,doublexpower=0,doublexgas=0,stringxnum="a",stringxna="a");//学生类构造函数
voidoperator=(StuS);//赋值运算符重载
friendostream&operator<<(ostream&a,Stu&S)//插入运算符重载
{a< a< a< a< a< a< a< a< a< if(S.flag) a<<"已交"; elsea<<"未交"; cout< returna; } doubleSGetW();//计算水费 doubleSGetC();//计算电费 doubleSGetG();//计算煤气费 doubleStotal();//计算总费用 doublewater,power,gas,water_rate,circuit,gas_rate,total; intflag; stringnumber,name; }; Stu: : Stu(doublexwater,doublexpower,doublexgas,stringxnum,stringxna)//学生类构造函数 { water=xwater; power=xpower; gas=xgas; number=xnum; name=xna; flag=0; } voidStu: : operator=(StuS)//赋值运算符重载 { name=S.name; number=S.number; water=S.water; power=S.power; gas=S.gas; } doubleStu: : SGetW()//计算水费 { if(water<10) water_rate=0; else water_rate=4.2*(water-10); returnwater_rate; } doubleStu: : SGetC()//计算电费 { if(power<10) circuit=0; else circuit=0.6*(power-10); returncircuit; } doubleStu: : SGetG()//计算煤气费 { if(gas<10) gas_rate=0; else gas_rate=2.3*(gas-10); returngas_rate; } doubleStu: : Stotal()//计算总的钱 { total=SGetG()+SGetW()+SGetC(); returntotal; } classarrayofStu//学生类计算 { public: arrayofStu(intsz=1){size=sz;student=newStu[size];}//构造函数 ~arrayofStu(){delete[]student;} voidxuesheng();//学生用户主菜单 voidjiaofei();//学生交费菜单 voidregist();//登记学生 voidamend();//修改用户菜单 voidadd();//增加用户 voiddelet();//删除用户菜单 voidnad();//姓名删除 voidnumd();//学号删除 voidcheck();//查询菜单 voidnacheck();//姓名查询 voidnumcheck();//学号查询 voidnaj();//输入姓名交费 voidnumj();//输入学号交费 voiddisplay();//查看交费情况 voidsave(); private: intsize; Stu*student; }; voidarrayofStu: : regist()//学生用户注册 { inti=0; ifstreamf("Stu.txt"); while(f.good())//! f.eof() { f>>student[i].number; f>>student[i].name; f>>student[i].water; f>>student[i].power; f>>student[i].gas; i++; } f.close(); count1=i; cout<<"\t\t注册成功! ! ! "< } voidarrayofStu: : naj()//输入姓名交费 {charch; doublemoney,money2; cout<<"\t\t\t欢迎使用姓名交费功能"< stringna; cout<<"请输入学生姓名: "< cin>>na; intfl=0; for(inti=0;i if(na==student[i].name) {fl=1; if(student[i].flag) cout<<"该学生已缴纳过费用"< else {cout<<"你应该交"< cout<<"确定是否真的现在交费(Y/N)"< cin>>ch; if(ch=='Y'||ch=='y') {student[i].flag=1; cout<<"你实际交的钱是: "< cin>>money; if(money>student[i].Stotal()) cout<<"找零"< if(student[i].Stotal()>money) {cout<<"交的钱不够,还应交"< cout<<"补交: "; cin>>money2;} cout<<"交费成功"< count11++; xuesheng(); } elsexuesheng(); } } if(! fl) cout<<"没有这个学生"< } voidarrayofStu: : numj()//输入学号交费 {cout<<"\t\t\t欢迎使用学号交费功能"< stringnum;doublemoney,money2;charch; cout<<"请输入学生学号: "< cin>>num; intfl=0; for(inti=0;i if(num==student[i].number) { if(student[i].flag) {fl=1;cout<<"该学生已缴纳过费用"< else {cout<<"你应该交"< cout<<"确定是否真的现在交费(Y/N)"< cin>>ch; if(ch=='Y'||ch=='y') {student[i].flag=1; cout<<"你实际交的钱是: "< cin>>money; if(money>student[i].Stotal()) cout<<"找零"< if(student[i].Stotal()>money) {cout<<"交的钱不够,还应交"< cout<<"补交: ";cin>>money2;} cout<<"交费成功"< count11++; xuesheng(); } elsexuesheng(); } } if(! fl) cout<<"没有这个学生"< } voidarrayofStu: : add()//增加学生 {cout<<"\t\t\t欢迎使用增加学生功能"< cout<<"请输入学生的姓名: "< cin>>student[count1].name; cout<<"请输入学生的学号: "< cin>>student[count1].number; cout<<"请输入学生的用水量: "< cin>>student[count1].water; cout<<"请输入学生的用电量: "< cin>>student[count1].power; cout<<"请输入学生的用煤气量: "< cin>>student[count1].gas; count1++; cout<<"\t\t\t学生信息已被成功的增加! "< } voidarrayofStu: : nad()//按姓名删除 {cout<<"\t\t\t欢迎使用姓名删除学生功能"< /*cout< cout< intfl=0; inti,j; stringna; cout<<"请输入要删除学生的姓名"< cin>>na; for(i=0;i if(na==student[i].name) {fl=1;break;} if(fl) {for(j=i;j student[j]=student[j+1]; count1--; cout<<"你已成功删除学生信息"< } else cout<<"没有这个学生"< } voidarrayofStu: : display() {inti; if(count11==0) cout<<"暂时还无学生交费"< else {cout<<"已交费人员信息"< cout<<"学号"<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费"<<"煤气费"<<"总额"<<"是否交费"< for(i=0;i if(student[i].flag) cout< } if(count11==count1)cout<<"所有学生均以交费"< else {cout<<"未交费人员信息"< cout<<"学号"<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费"<<"煤气费"<<"总额"<<"是否交费"< for(i=0;i if(! student[i].flag) cout< } } voidarrayofStu: : numd()//按学号删除 {cout<<"\t\t\t欢迎使用学号删除学生功能"< intfl=0; inti,j; stringnum; cout<<"请输入要删除学生的学号"< cin>>num; for(i=0;i if(num==student[i].number) {fl=1;break;} if(fl) {for(j=i;j student[j]=student[j+1]; count1--; cout<<"你已成功删除学生信息"< } else cout<<"没有这个学生"< } voidarrayofStu: : nacheck()//姓名查询 {cout<<"\t\t\t欢迎使用姓名查询学生功能"< inti,fl=0; stringna; cout<<"请输入要查找的姓名"< cin>>na; for(i=0;i if(na==student[i].name) {fl=1;break;} if(fl) { cout<<"学号"<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费"<<"煤气费"<<"总额"<<"是否交费"< cout< else cout<<"没有这个学生"< } voidarrayofStu: : numcheck()//学号查询 {cout<<"\t\t\t欢迎使用学号查询学生功能"< inti,fl=0; stringnum; cout<<"请输入要查找的学号"< cin>>num; for(i=0;i if(num==student[i].number) {fl=1;break;} if(fl) { cout<<"学号"<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费"<<"煤气费"<<"总额"<<"是否交费"< cout< } else cout<<"没有这个学生"< } voidarrayofStu: : save() {ofstreamf("Stu2.txt"); f<<"学号"<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费"<<"煤气费"<<"总额"<<"是否交费"< for(inti=0;i f< f.close(); cout<<"恭喜你,文件已成功保存"< } voidarrayofStu: : delet()//删除学生菜单 { intchoice; cout<<"\t\t\t\t**************"< cout<<"\t\t\t\t删除信息"< cout<<"\t\t\t\t1,按学号删除"< cout<<"\t\t\t\t2,按姓名删除"< cout<<"\t\t\t\t3,返回主菜单"< cout<<"\t\t\t\t0,返回上一层"< cout<<"\t\t\t\t**************"< while (1) { cout<<"请输入你的选择"< cin>>choice; switch(choice) { case1: numd();break;//学号删除 case2: nad();break;//姓名删除 case3: xuesheng();break;//返回学生管理主菜单 case0: amend();break;//返回上一层 } if(choice==0) break; } } voidarrayofStu: : jiaofei()//学生缴费菜单 { intchoice; cout<<"\t\t\t\t****************"< cout<<"\t\t\t\t*---学生缴费---*"< cout<<"\t\t\t\t*1,输入学号交费*"< cout<<"\t\t\t\t*2,输入姓名交费*"< cout<<"\t\t\t\t*0,返回上一层*"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水电 煤气 管理 系统 讲课 教案