您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 理论文章 > C++课程设计高校水电费管理系统
#includeiostream#includestring#includefstream#includeiomanipconstintTMAX=50;usingnamespacestd;classPerson{public:intnum;//编号stringname;//姓名stringsex;//性别intage;//年龄doublewater;//用水量doublepower;//用电量public:Person(intn=0,stringnm=,strings=,inta=0,doublew=0.0,doublep=0.0)//初始化{num=n;name=nm;sex=s;age=a;water=w;power=p;};virtualvoidInput(){};virtualvoidOutput(){};intGetNum(){returnnum;}//获取编号stringGetName(){returnname;}//获取姓名doubleGetWater(){returnwater;}//获取用水量doubleGetPower(){returnpower;}//获取用电量};classTeacher:virtualpublicPerson//教师{public:stringdepart;//工作部门doublewatermoney;//教师水费doublepowermoney;//教师电费intchoice1;intchoice2;public:Teacher(intn=0,stringnm=,strings=男,inta=0,stringd=普通教师,doublew=0.0,doublep=0.0,doublewm=0.0,doublepm=0.0):Person(n,nm,s,a,w,p),depart(d)//构造函数{watermoney=wm;powermoney=pm;};voidInput(){cout请输入编号:endl;cinnum;cout请输入姓名:endl;cinname;cout请选择性别:;cout(1.男2.女)endl;cout请输入你的选择endl;cinchoice2;switch(choice2){case1:sex=男;break;case2:sex=女;break;default:cout输入错误。endl;break;}cout请输入年龄:endl;cinage;cout请选择工作部门:endl;coutsetw(10)1.普通教师setw(10)2.教务处setw(10)3.财政处setw(10)4.创业办公室endl;cout请输入你的选择endl;cinchoice1;switch(choice1){case1:depart=普通教师;break;case2:depart=教务处;break;case3:depart=财政处;break;case4:depart=创业办公室;break;default:cout输入错误。endl;break;}cout请输入本月的用水量endl;cinwater;cout请输入本月的用电量endl;cinpower;watermoney=0.5*water;powermoney=0.5*power;}voidOutput(){coutnumnamesexagedepartwatersetw(10)powersetw(10)watermoneysetw(10)powermoneyendl;}};classStudent:virtualpublicPerson//学生{public:stringbj;//学生班级doublewatermoney;//学生水费doublepowermoney;//学生电费intchoice1;intchoice2;public:Student(intn=0,stringnm=,strings=男,inta=0,stringz=,doublew=0.0,doublep=0.0,doublewm=0.0,doublepm=0.0):Person(n,nm,s,a,w,p),bj(z)//构造函数{watermoney=wm;powermoney=pm;};voidInput(){cout请输入学号:endl;cinnum;cout请输入姓名:endl;cinname;cout请选择性别:;cout(1.男2.女)endl;cout请输入你的选择endl;cinchoice2;switch(choice2){case1:sex=男;break;case2:sex=女;break;default:cout输入错误。endl;break;}cout请输入年龄:endl;cinage;cout请选择所在班级:endl;coutsetw(10)1.计科1班setw(10)2.计科2班setw(10)3.计科3班setw(10)4.计科4班endl;cout请输入你的选择endl;cinchoice1;switch(choice1){case1:bj=计科1班;break;case2:bj=计科2班;break;case3:bj=计科3班;break;case4:bj=计科4班;break;default:cout输入错误。endl;break;}cout请输入本月的用水量endl;cinwater;cout请输入本月的用电量endl;cinpower;watermoney=0.5*(water-10);powermoney=0.5*(power-10);}voidOutput(){coutnumnamesexagebjwatersetw(10)powersetw(10)watermoneysetw(10)powermoneyendl;}};classStu_Manage{StudentStu[TMAX];//TMAX为常量,为数组中可存储的学生记录的最大数;inttop;//top表示当前系统中存储的记录个数;public:Stu_Manage(){top=0;}//初始时记录的个数为0,所以设置top=0;voidAdd();//实现该类记录的添加;voidShow();//实现该类所有记录的显示;voidSearch();//实现该类记录的查询;voidEdit();//实现该类记录的修改;voidDelete();//实现该类记录的删除;voidTotal();//实现该类记录的统计;voidSave();//将该类记录保存到文件;voidRead();//可从文件中将记录读取到该类的数组中;};voidStu_Manage::Add()//添加成员{if(top=TMAX){cout用户已满endl;return;}Students;cout输入新添加的人员的信息endl;s.Input();for(inti=0;itop;i++)if(s.GetNum()==Stu[i].GetNum()){cout该编号的人员已存在endl;return;}Stu[top]=s;top=top+1;cout添加成功!endl;}voidStu_Manage::Show()//显示所有记录{if(top==0){cout无数据!endl;return;}cout学号姓名性别年龄班级setw(10)用水量setw(10)用电量setw(10)水费setw(10)电费endl;for(inti=0;itop;i++)Stu[i].Output();}voidStu_Manage::Search()//查询{if(top==0){cout当前系统中没有存储记录endl;return;}intchoice;cout请选择查找方式:1.按姓名查询2.按用水量查询3.按用电量查询endl;cinchoice;switch(choice){case1:{cout请输入要查找的姓名endl;stringname;cinname;cout学号姓名性别年龄班级setw(10)用水量setw(10)用电量setw(10)水费setw(10)电费endl;for(inti=0;itop;i++){if(Stu[i].GetName()==name){Stu[i].Output();}}return;cout查无此人!endl;}break;case2:{cout请输入要查找的水量:endl;doublewater;cinwater;cout学号姓名性别年龄班级setw(10)用水量setw(10)用电量setw(10)水费setw(10)电费endl;for(inti=0;itop;i++){if(Stu[i].GetWater()==water){Stu[i].Output();}}return;cout查无此人!endl;}break;case3:{cout请输入要查找的电量:endl;doublepower;cinpower;cout学号姓名性别年龄班级setw(10)用水量setw(10)用电量setw(10)水费setw(10)电费endl;for(inti=0;itop;i++){if(Stu[i].GetPower()==power){Stu[i].Output();}}return;cout查无此人!endl;}break;default:cout无此选项!请重试!endl;break;}}voidStu_Manage::Edit()//更改信息{if(top==0){cout当前系统中没有存储记录!endl;return;}intnum;cout请输入要查找的教编号:endl;cinnum;for(inti=0;itop;i++){if(Stu[i].GetNum()==num){cout请对这位学生的信息进行修改:endl;Stu[i].Input();cout修改成功endl;return;}}cout查无此人endl;}voidStu_Manage::Delete()//删除信息{if(top==0){cout当前系统中没有存储记录!endl;return;}cout1、按编号查找删除2、按姓名查找删除endl;intchoice;cinchoice;switch(choice){case1:{cout请输入编号:;intnum;cinnum;for(inti=0;itop;i++){if(num==Stu[i].num){cout是否确认删除?1、是2、否endl;intchoice;cinchoice;switch(choice){case1:{for(intj=i;jtop-1;j++)Stu[j]=Stu[j+1];cout删除成功!endl;top--;};break;case2:ret
本文标题:C++课程设计高校水电费管理系统
链接地址:https://www.777doc.com/doc-5687369 .html