收藏 分销(赏)

毕业论文设计--水电费管理系统课程设计正文.doc

上传人:胜**** 文档编号:2798515 上传时间:2024-06-06 格式:DOC 页数:39 大小:356.50KB 下载积分:10 金币
下载 相关 举报
毕业论文设计--水电费管理系统课程设计正文.doc_第1页
第1页 / 共39页
毕业论文设计--水电费管理系统课程设计正文.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
通信与信息工程学院 面向对象技术课程设计 一、课程设计目的 (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 二、程序设计要求 1、基本功能:设计一个高校水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。完成如下功能:⑴实现对用户信息的录入。⑵实现水电数据的录入。⑶计算并查询用户应缴费用。(4)显示当前系统中所有学生和教工的记录(5)可根据查询结果对相应的记录进行修改(6)计算电费和水费。 2、程序主菜单:教师水电费管理,学生水电费管理,退出系统三个选项 3、 设计流程图:画出本程序的总体设计流程图(手画) 4、 功能框图:画出本程序的功能框图(手画) 三、程序功能设计 1、功能设计:添加功能 查询功能 显示功能 编辑功能 删除功能 统计功能 保存功能 读取功能 计算水费和电费 2、组员分工:赵政 类的定义 马晶晶 史娟丽 杨洁 功能的实现 姜田茹 界面设计 设计思路: 1、在主函数中通过分支选择实现不同的功能。 2、在菜单函数中,通过设计界面与用户进行交互。 3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能。 四、程序数据结构(手写) 五、程序函数设计(手写) 六、程序源代码(此部分可打印) 七 截图(手写) 八 心得(手写) 附录:程序源代码 #include<iostream> #include<string> const int TMAX=50; using namespace std; class Person { public: int num; string name; string sex; int age; double water; double power; public: Person(int n=0,string nm="",string s="",int a=0,double w=0.0,double p=0.0) { num=n; name=nm; sex=s; age=a; water=w; power=p; }; virtual void Input(){}; virtual void Output(){}; int GetNum(){return num;} string GetName(){return name;} double GetWater(){return water;} double GetPower(){return power;} }; class Teacher:virtual public Person { public: string depart; double watermoney; double powermoney; int choice1; int choice2; public: Teacher(int n=0,string nm="",string s="男",int a=0,string d="任课教师",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0) :Person(n,nm,s,a,w,p),depart(d) { watermoney=wm; powermoney=pm; }; void Input() { cout<<"请输入编号:"<<endl; cin>>num; cout<<"请输入姓名:"<<endl; cin>>name; cout<<"请选择性别:"; cout<<"(1.男 2.女)"<<endl; cout<<"请输入你的选择"<<endl; cin>>choice2; switch(choice2) { case 1:sex="男";break; case 2:sex="女";break; default:cout<<"输入错误。"<<endl; break; } cout<<"请输入年龄:"<<endl; cin>>age; cout<<"请选择工作部门:"<<endl; cout<<"1.任课教师"<<"2.教务处"<<"3.财政处"<<"4.校团委"<<endl; cout<<"请输入你的选择"<<endl; cin>>choice1; switch(choice1) { case 1:depart="任课教师"; break; case 2:depart="教务处"; break; case 3:depart="财政处"; break; case 4:depart="校团委"; break; default:cout<<"输入错误。"<<endl; break; } cout<<"请输入本月的用水量"<<endl; cin>>water; cout<<"请输入本月的用电量"<<endl; cin>>power; watermoney=0.5*water; powermoney=0.5*power; } void Output() { cout<<" "<<num <<" "<<name <<" "<<sex <<" "<<age <<" "<<depart <<" "<<water <<" "<<power <<" "<<watermoney <<" "<<powermoney <<endl; } }; class Student:virtual public Person { public: string bj; double watermoney; double powermoney; int choice1; int choice2; public: Student(int n=0,string nm="",string s="男",int a=0,string z="",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0) :Person(n,nm,s,a,w,p),bj(z) { watermoney=wm; powermoney=pm; }; void Input() { cout<<"请输入学号:"<<endl; cin>>num; cout<<"请输入姓名:"<<endl; cin>>name; cout<<"请选择性别:"; cout<<"(1.男 2.女)"<<endl; cout<<"请输入你的选择"<<endl; cin>>choice2; switch(choice2) { case 1:sex="男";break; case 2:sex="女";break; default:cout<<"输入错误。"<<endl;break; } cout<<"请输入年龄:"<<endl; cin>>age; cout<<"请选择所在班级:"<<endl; cout<<"1.通信1201班"<<"2.通信1202班"<<"3.通信1203班"<<"4.通信1204班"<<endl; cout<<"请输入你的选择"<<endl; cin>>choice1; switch(choice1) { case 1:bj="通信1201班";break; case 2:bj="通信1202班";break; case 3:bj="通信1203班";break; case 4:bj="通信1204班";break; default:cout<<"输入错误。"<<endl;break; } cout<<"请输入本月的用水量"<<endl; cin>>water; cout<<"请输入本月的用电量"<<endl; cin>>power; watermoney=0.5*(water-10); powermoney=0.5*(power-10); } void Output() { cout<<""<<num <<""<<name <<""<<sex <<""<<age <<""<<bj <<""<<water <<""<<power <<""<<watermoney <<""<<powermoney <<endl; } }; class Stu_Manage { Student Stu[TMAX]; int top;//top public: Stu_Manage(){top=0;} void Add(); void Show(); void Search(); void Edit(); void Delete(); void Total(); }; void Stu_Manage::Add() { if(top>=TMAX) { cout<<"用户已满"<<endl; return; } Student s; cout<<"输入新添加的人员的信息"<<endl; s.Input(); for(int i=0;i<top;i++) if (s.GetNum()==Stu[i].GetNum()) { cout<<"该编号的人员已存在"<<endl; return; } Stu[top]=s; top=top+1; cout<<"添加成功!"<<endl; } void Stu_Manage::Show() { if(top==0) { cout<<"无数据!"<<endl; return; } cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" <<""<<"用水量" <<""<<"用电量" <<""<<"水费" <<""<<"电费" <<endl; for(int i=0;i<top;i++) Stu[i].Output(); } void Stu_Manage::Search() { if(top==0) { cout<<"当前系统中没有存储记录"<<endl; return; } int choice; cout<<"请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询"<<endl; cin>>choice; switch(choice) { case 1: { cout<<"请输入要查找的姓名"<<endl; string name; cin>>name; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" <<""<<"用水量" <<""<<"用电量" <<""<<"水费" <<""<<"电费" <<endl; for(int i=0;i<top;i++) { if(Stu[i].GetName()==name) { Stu[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; case 2: { cout<<"请输入要查找的水量:"<<endl; double water; cin>>water; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" <<""<<"用水量" <<""<<"用电量" <<""<<"水费" <<""<<"电费" <<endl; for(int i=0;i<top;i++) { if(Stu[i].GetWater()==water) { Stu[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; case 3: { cout<<"请输入要查找的电量:"<<endl; double power; cin>>power; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" <<""<<"用水量" <<""<<"用电量" <<""<<"水费" <<""<<"电费" <<endl; for(int i=0;i<top;i++) { if(Stu[i].GetPower()==power) { Stu[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; default :cout<<"无此选项!请重试!"<<endl;break; } } void Stu_Manage::Edit() { if(top==0) { cout<<"当前系统中没有存储记录!"<<endl; return; } int num; cout<<"请输入要查找的学号:"<<endl; cin>>num; for(int i=0;i<top;i++) { if(Stu[i].GetNum()==num) { cout<<"请对这位学生的信息进行修改:"<<endl; Stu[i].Input(); cout<<"修改成功"<<endl;return; } } cout<<"查无此人"<<endl; } void Stu_Manage::Delete() { if(top==0) { cout<<"当前系统中没有存储记录!"<<endl; return; } cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl; int choice; cin>>choice; switch(choice) { case 1: { cout<<"请输入编号:"; int num; cin>>num; for(int i=0;i<top;i++) { if(num==Stu[i].num) { cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) { case 1: { for(int j=i;j<top-1;j++) Stu[j]=Stu[j+1]; cout<<"删除成功!"<<endl; top--; };break; case 2: return; default:cout<<"无此项,失败!"<<endl; break; }return; } } cout<<"无此人!"<<endl; }; break; case 2: { cout<<"请输入姓名:"; string name; cin>>name; for(int i=0;i<top;i++) { if(name==Stu[i].name) { cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) { case 1: { for(int j=i;j<top-1;j++) Stu[j]=Stu[j+1]; cout<<"删除成功!"<<endl; top--; };break; case 2: return; default:cout<<"无此项,失败!"<<endl;break; }return; } } cout<<"无此人!"<<endl; };break; default:cout<<"没有此项,失败:"<<endl;break; } } void Stu_Manage::Total() { cout<<"1 学生所用水电量的总量 2 学生总的水电费 "<<endl; int choice; cout<<"请输入你的选择"<<endl; cin>>choice; switch(choice) { case 1: { double zwater=0.0, zpower=0.0; for(int i=0; i<top; i++) { zwater+=Stu[i].water; zpower+=Stu[i].power; } cout<<"学生的总用水量为"<<zwater<<endl; cout<<"学生的总用电量为"<<zpower<<endl; }break; case 2: { double zwatermoney=0.0, zpowermoney=0.0; for(int i=0; i<top; i++) { zpowermoney+=Stu[i].powermoney; zwatermoney+=Stu[i].watermoney; } cout<<"学生的总水费为"<<zwatermoney<<endl; cout<<"学生的总电费为"<<zpowermoney<<endl; }break; default:cout<<"输入错误。请重新输入"<<endl;break; } } class Tea_Manage { Teacher Tea[TMAX]; int top; public: Tea_Manage(){top=0;} void Add(); void Show(); void Search(); void Edit(); void Delete(); void Total(); }; void Tea_Manage::Add() { if(top>=TMAX) { cout<<"用户已满"<<endl; return; } Teacher t; cout<<"输入新添加的人员的信息"<<endl; t.Input(); for(int i=0;i<top;i++) if (t.GetNum()==Tea[i].GetNum()) { cout<<"该编号的人员已存在"<<endl; return; } Tea[top]=t; top=top+1; cout<<"添加成功!"<<endl; } void Tea_Manage::Show() { if(top==0) { cout<<"无数据!"<<endl; return; } cout<<""<<"编号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"部门" <<""<<"用水量" <<""<<"用电量" <<""<<"水费" <<""<<"电费" <<endl; for(int i=0;i<top;i++) Tea[i].Output(); } void Tea_Manage::Search() { if(top==0) { cout<<"当前系统中没有存储记录"<<endl; return; } int choice; cout<<"请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询"<<endl; cin>>choice; switch(choice) { case 1: { cout<<"请输入要查找的姓名"<<endl; string name; cin>>name; cout<<" "<<"编号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年龄" <<" "<<"部门" <<" "<<"用水量" <<" "<<"用电量" <<" "<<"水费" <<" "<<"电费" <<endl; for(int i=0;i<top;i++) { if(Tea[i].GetName()==name) { Tea[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; case 2: { cout<<"请输入要查找的水量:"<<endl; double water; cin>>water; cout<<""<<"编号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 年龄 "<<" "<<" 部门 "<<"用水量"<<"用电量"<<"水费"<<"电费"<<endl; for(int i=0;i<top;i++) { if(Tea[i].GetWater()==water) { Tea[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; case 3: { cout<<"请输入要查找的电量:"<<endl; double power; cin>>power; cout<<" "<<"编号 "<<" "<<" 姓名 "<<" "<<" 性别 "<<" "<<" 年龄 "<<" "<<" 部门 "<<"用水量"<<"用电量"<<"水费"<<"电费"<<endl; for(int i=0;i<top;i++) { if(Tea[i].GetPower()==power) { Tea[i].Output(); } } return; cout<<"查无此人!"<<endl; }break; default:cout<<"无此选项!请重试!"<<endl; break; } } void Tea_Manage::Edit() { if(top==0) { cout<<"当前系统中没有存储记录!"<<endl; return; } int num; cout<<"请输入要查找的教编号:"<<endl; cin>>num; for(int i=0;i<top;i++) { if(Tea[i].GetNum()==num) { cout<<"请对这位教师的信息进行修改:"<<endl; Tea[i].Input(); cout<<"修改成功"<<endl; return; } } cout<<"查无此人"<<endl; } void Tea_Manage::Delete() { if(top==0) { cout<<"当前系统中没有存储记录!"<<endl; return; } cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl; int choice; cin>>choice; switch(choice) { case 1: { cout<<"请输入编号:"; int num; cin>>num; for(int i=0;i<top;i++) { if(num==Tea[i].num) { cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) { case 1: { for(int j=i;j<top-1;j++) Tea[j]=Tea[j+1]; cout<<"删除成功!"<<endl; top--; }; break; case 2: return; default:cout<<"无此项,失败!"<<endl; break; }return; } } cout<<"无此人!"<<endl; }; break; case 2: { cout<<"请输入姓名:"; string name; cin>>name; for(int i=0;i<top;i++) { if(name==Tea[i].name) { cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) { case 1: { for(int j=i;j<top-1;j++) Tea[j]=Tea[j+1]; cout<<"删除成功!"<<endl; top--; }; break; case 2: return; default:cout<<"无此项,失败!"<<endl; break; }return; } } cout<<"无此人!"<<endl; }; break; default:cout<<"没有此项,失败:"<<endl; break; } } void Tea_Manage::Total() { cout<<"1 教师所用水电量的总量 2 教师总的水电费 "<<endl; int choice; cout<<"请输入你的选择"<<endl; cin>>choice; switch(choice) { case 1: { double zwater=0.0, zpower=0.0; for(int i=0; i<top; i++) { zwater+=Tea[i].water; zpower+=Tea[i].power; } cout<<"教师的总用水量为"<<zwater<<endl; cout<<"教师的总用电量为"<<zpower<<endl; }break; case 2: { double zwatermoney=0.0, zpowermoney=0.0; for(int i=0;i<top;i++) { zwatermoney+=Tea[i].watermoney; zpowermoney+=Tea[i].powermoney; } cout<<"教师的总水费为"<<zwatermoney<<endl; cout<<"教师的总电费为"<<zpowermoney<<endl; }break; default:cout<<"输入错误。请重新输入"<<endl;break; } } void TeaMenu(); void StuMenu(); int main() { int choice; do { cout<<"\n================================================================================\n"<<endl; cout<<" 高校水电费管理系统 \n"<<endl; cout<<"\n"<<endl; cout<<"\t1=>教师水电费管理\t2=>学生水电费管理\t0=>退出系统 "<<endl; cout<<"\n"<<endl; cout<<"\n请输入您的选择:"; cin>>choice; switch(choice) { case 1:TeaMenu();break; case 2:StuMenu();break; case 0:cout<<"\n您已安全退出系统."<<endl;break; default:cout<<"\n没有此选项.请重选."<<endl;break; } } while(choice!=0); cout<<"\n------------------------------欢迎您下次再使用!---------------------------------"<<endl; return 0; } void TeaMenu() { Tea_Manage t; int choice; while(choice!=0) { cout<<"\n================================================================================\n"<<endl; cout<<"\n 教师水电费管理"<<endl; cout<<"\n"<<endl; cout<<" 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计 0.退出 "<<endl; cout<<"\n"<<endl; cout<<"\n输入您操作的选项:"; cin>>choice; switch(choice) { case 1:t.Add();break; case 2:t.Search();break; case 3:t.Edit();break; case 4:t.Delete();break; case 5:t.Show();break; case 8:t.Total();break; case 0:cout<<"退出成功!"<<endl;break; default:cout<<"无此选项!请重试!"<<endl;break; } } } void StuMenu() { Stu_Manage s; int choice; while(choice!=0) { cout<<"\n================================================================================\n"<<endl; cout<<"\n 学生水电费管理"<<endl; cout<<"\n"<<endl; cout<<" 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计 0.退出 "<<endl; cout<<"\n"<<endl; cout<<"\n输入您操作的选项:"; cin>>choice; switch(choice) { case 1:s.Add();break; case 2:s.Search();break; case 3:s.Edit();break; case 4:s.Delete();break; case 5:s.Show();break; case 8:s.Total();break; case 0:cout<<"退出成功!"<<endl;break; default:cout<<"无此选项!请重试!"<<endl;break; } } } 七、 程序调试结果 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服