收藏 分销(赏)

C专业课程设计高校水电费标准管理系统.doc

上传人:丰**** 文档编号:2727280 上传时间:2024-06-05 格式:DOC 页数:27 大小:59.04KB 下载积分:10 金币
下载 相关 举报
C专业课程设计高校水电费标准管理系统.doc_第1页
第1页 / 共27页
C专业课程设计高校水电费标准管理系统.doc_第2页
第2页 / 共27页


点击查看更多>>
资源描述
#include<iostream> #include<string> #include<fstream> #include<iomanip> 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<<setw(10)<<"1.一般老师"<<setw(10)<<"2.教务处"<<setw(10)<<"3.财政处"<<setw(10)<<" 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 <<setw(10)<<power <<" "<<setw(10)<<watermoney <<setw(10)<<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<<setw(10)<<"1.计科1班"<<setw(10)<<"2.计科2班"<<setw(10)<<"3.计科3班"<<setw(10)<<"4.计科4班"<<endl; cout<<"请输入你选择"<<endl; cin>>choice1; switch(choice1) { case 1:bj="计科1班";break; case 2:bj="计科2班";break; case 3:bj="计科3班";break; case 4:bj="计科4班";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 <<setw(10)<<power <<" "<<setw(10)<<watermoney <<setw(10)<<powermoney <<endl; } }; class Stu_Manage { Student Stu[TMAX]; //TMAX为常量,为数组中可存放学生统计最大数; int top; //top表示目前系统中存放统计个数; public: Stu_Manage(){top=0;} //初始时统计个数为0,所以设置top=0; void Add(); //实现该类统计添加; void Show(); //实现该类全部统计显示; void Search(); //实现该类统计查询; void Edit(); //实现该类统计修改; void Delete(); //实现该类统计删除; void Total(); //实现该类统计统计; void Save(); //将该类统计保留到文件; void Read(); //可从文件中将统计读取到该类数组中; }; 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<<" "<<"学号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"班级" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"学号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"班级" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"学号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"班级" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"学号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"班级" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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; } } void Stu_Manage::Save()//保留学生信息 { ofstream out("学生.txt",ios::out); if(!out) { cout<<"打开失败!"<<endl; return; } cout<<"打开成功!"<<endl; for(int i=0;i<top;i++) { out<<Stu[i].num<<" " <<Stu[i].name<<" " <<Stu[i].sex<<" " <<Stu[i].age<<" " <<Stu[i].bj<<" " <<Stu[i].water<<" " <<Stu[i].power<<" " <<Stu[i].watermoney<<" " <<Stu[i].powermoney<<" " <<endl; } cout<<"写入成功!"<<endl; out.close(); } void Stu_Manage::Read()//读取学生文件 { ifstream in("学生.txt",ios::in); if(!in) { cout<<"打开失败!"<<endl; return; } int i=0; while(in>>Stu[i].num >>Stu[i].name >>Stu[i].sex >>Stu[i].age >>Stu[i].bj >>Stu[i].water >>Stu[i].power >>Stu[i].watermoney >>Stu[i].powermoney) { i++; top++; } cout<<"打开成功!"<<endl; in.close(); } class Tea_Manage { Teacher Tea[TMAX]; //TMAX为常量,为数组中可存放老师统计最大数; int top; //top表示目前系统中存放统计个数; public: Tea_Manage(){top=0;} //初始时统计个数为0,所以设置top=0; void Add(); //实现该类统计添加; void Show(); //实现该类全部统计显示; void Search(); //实现该类统计查询; void Edit(); //实现该类统计修改; void Delete(); //实现该类统计删除; void Total(); //实现该类统计统计; void Save(); //将该类统计保留到文件; void Read(); //可从文件中将统计读取到该类数组中; }; 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<<" "<<"编号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"部门" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"编号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"部门" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"编号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"部门" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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<<" "<<"编号" <<" "<<"姓名" <<" "<<"性别" <<" "<<"年纪" <<" "<<"部门" <<setw(10)<<"用水量" <<setw(10)<<"用电量" <<setw(10)<<"水费" <<setw(10)<<"电费" <<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 Tea_Manage::Save()//保留老师信息 { ofstream out("老师.txt",ios::out); if(!out) { cout<<"打开失败!"<<endl; return; } cout<<"打开成功!"<<endl; for(int i=0;i<top;i++) { out<<Tea[i].num<<" " <<Tea[i].name<<" " <<Tea[i].sex<<" " <<Tea[i].age<<" " <<Tea[i].depart<<" " <<Tea[i]
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服