高校水电费管理系统设计毕业设计论文_第1页
高校水电费管理系统设计毕业设计论文_第2页
高校水电费管理系统设计毕业设计论文_第3页
高校水电费管理系统设计毕业设计论文_第4页
高校水电费管理系统设计毕业设计论文_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告课程名称程序设计实践(C++)实验题目高校水电费管理系统实验仪器计算机系别计算机学院专业计算机科学与技术班级/学号学生姓名实验日期2015-6-15成绩指导教师共59页第58页实验题目高校水电费管理系统一

、实验目的(10分)面向对象程序设计实践课程设计是该课程集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习和实践。要求学生能够熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基础知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力,达到课程学习的目的和要求。

需求分析(20分)2.1 环境分析随着科学技术的发展,不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。而面对现今社会的发展,水电费管理系统是每一个高校管理机构对学校资源进行有效管理的不可或缺的一个管理信息系统,它的内容对于学校资源管理机构的管理者来说是至关重要的,该系统应该能够为资源管理机构的管理者提供有效的帮助,使之能够对有效信息进行快捷的整理和查询,大大的方便了管理机构的管理者的合理有效管理。2.2 要求具体要求:(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询如果未找到,给出相应的提示信息;如果找到,则显示相应的记录信息。(3)显示功能:可显示当前系统中所有学生或教工的记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录则提示“记录为空”并返回操作。(6)统计功能:能统计学生和教工的用水用电量、所要交纳的电费和水费信息等。(7)保存功能:可将当前系统中各类记录存入文件中,存入方式位“学生.txt”和“教师.txt”。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。2.3运行环境(1)WindowsXP/Windows7/Windows8等系统(2)VisualC++6.0编译环境或VS2013编译环境等2.4 开发工具C++语言三、实验课时 24课时实验步骤(20分)4.1系统功能分析:系统通过调用函数来实现教师、学生信息地录入、修改、删除、查询以及数据保存文件等功能。input()函数用于录入信息;output()函数用来输出信息;statistics()函数用来统计信息;compile()函数用来修改教师和学生的信息;add()函数用来添加新增信息;reading()函数用来读取已有的文件;show()函数用于显示所有已有的记录;deletes()函数用来删除教师和学生的信息;search()函数用来查询信息;saving()函数用于将输入的信息存入文件内;主函数main()用于调用这些函数。4.2系统功能模块划分与设计:本系统定义了College类、Teacher类、Student类、Student_message类以及Teacher_message这五个类,定义了input()、output()、statistics()、compile()、add()、reading()、show()、deletes()、search()、saving()等函数来实现系统所需功能。4.3详细设计1.基类College的设计:classCollege//声明基类大学类{public://公有数据成员 College(stringnam="",strings="",inta=0,intnum=0,doublewat=0.0, doubleele=0.0,doublepowerf=0.0,doublewaterf=0.0): name(nam),sex(s),age(a),number(num),water(wat), electric(ele),powerfare(powerf),waterfee(waterf){};//定义构造函数 voidinput();//声明输入函数 voidoutput();//声明输出函数 stringgetname(){returnname;} //获取姓名 intgetage(){returnage;} //获取年龄 doublegetwater(){returnwater;} //获取用水量 doublegeteletric(){returnelectric;} //获取用电量 doublegetpowerfare(){returnpowerfare;} //获取电费 doublegetwaterfee(){returnwaterfee;} //获取水费 intgetnumber(){returnnumber;} //获取编号public://公有类数据成员 stringname;//姓名 stringsex;//性别 intage;//年龄 intnumber;//编号 doublewater;//用水量 doubleelectric;//用电量 doublepowerfare;//电费 doublewaterfee;//水费};派生类Student类的设计classStudent:publicCollege//公有继承基类{public: //公有数据成员 Student(stringnam="",strings="",inta=0,intnum=0, doublewat=0.0,doubleele=0.0,doublepowerf=0.0,doublewaterf=0.0,stringgrad=""): College(nam,s,a,num,wat,ele,powerf,waterf),grade(grad){} //定义学生类构造函数 voidinput(); //声明学生类输入函数 voidoutput(); //声明学生类输出函数public: //公有数据成员 stringgrade;};派生类Teacher类的设计classTeacher:publicCollege//公有继承基类{public: //公用数据成员 Teacher(stringnam="",strings="",inta=0, intnum=0,doublewat=0.0,doubleele=0.0, doublepowerf=0.0,doublewaterf=0.0,stringdepart=""): College(nam,s,a,num,wat,ele,powerf,waterf),department(depart){} //定义教师类构造函数 voidinput(); //声明教师类输入函数 voidoutput(); //声明教师类输出函数public: stringdepartment;};4.Student_message类的设计classStudent_message //声明学生信息类{ Studentstu[capacity]; //学生数组 intamount; //当前的数据量public: Student_message(){amount=0;} //定义当前学生信息容量为0 voidadd(); //声明学生信息添加函数 voidsearch(); //声明学生信息查询函数 voidshow(); //声明学生信息显示函数 voidcompile(); //声明学生信息编辑函数 voiddeletes(); //声明学生信息删除函数 voidstatistics(); //声明学生信息统计函数 voidsaving(); //声明学生信息保存函数 voidreading(); //声明学生信息读取函数};Teacher_message类的设计classTeacher_message //声明教师信息类{ Teacherteach[capacity]; intamount;//定义当前数据数public: Teacher_message(){amount=0;} //初始记录数据数为0 voidadd(); //声明教师信息添加函数 voidsearch(); //声明教师信息查询函数 voidshow(); //声明教师信息显示函数 voidcompile(); //声明教师信息编辑函数 voiddeletes(); //声明教师信息删除函数 voidstatistics(); //声明统计函数 voidsaving(); //声明教师信息保存函数 voidreading(); //声明教师信息读取函数};五、实验心得(10分)在课程设计刚开始时,我不清楚到底需要做什么,无从下手,因为这不是平时的实验,平时的实验都是有目的,有内容的,而此次的设计是需要自己去设计去实践的,没有什么东西,需要自己去一步一步实现,一步一步的写。后来,回想老师所讲的方法和技巧,开始有了目的,也有了思路。首先,在确定我的设计题目之后,并且在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。经过三个星期的设计和实践,虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,后来这种现象通过实际的上机操作和实验,以及老师的讲解,同学的帮助,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。同时也有很多理论上可以说得过去的代码,但到了实际操作的时候,却是行不通的。这种困惑,有许多已经通过实际地操作解决了,并能够深刻地认识,但也有很多不是很清楚。后来,只能避过这些方法,转换策略实现。在课程设计之前,因为有了多次的综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我先花了几天的时间来规划要写的代码,将要实现的内容分析清楚,才把代码输入电脑。这样就能够有效地降低了错误的几率,提高了写代码的效率,并且也减少了设计时的盲目性,无序性。同时,这次的课程设计,让我充分的感觉到了自己要设计一个好的程序是多么的难和不容易,以及学习好C++是多么的重要。在这个程序的设计过程中,我清楚的意识到了自己的编程水平有多么的薄弱,课程的知识学得有多么的不扎实。在程序调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候因为少了一个大括号或是分号,要找很久很久。在完成课程设计的过程中,我发现运行后的界面非常的不好看,效果不是很好,有些数据之间没有分开,格式较拥挤,分辨不清各个数据所代表的含义。后来,对程序进行了修改和添补,有了一定的好转,加了一些必要的空格和符号,以及一些标识,使得程序的界面更加的友好、美观,更佳的适用。尽管系统后来可以正常地运行,也具有了一些基本的功能,但我还是意识到了自己有太多的不足。但是呢,好在以后还会有很多的课程设计,我则一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。程序运行结果截图以及C++程序源代码(40分)程序运行结果截图1.开始运行界面截图:2.退出主界面:3.进入教师水电费管理系统:4.添加功能:5.查找功能:6.修改功能:7.读取显示功能:8.添加、保存功能:9.统计功能:10.删除功能:11.退出教师水电费管理系统:注:学生水电费管理系统运行原理与教师水电费管理系统运行与原理一样。程序源代码:#include<iostream>#include<string>#include<fstream>#include<iomanip>constintcapacity=1500;//定义常变量数据容量为1500usingnamespacestd;classCollege//声明基类大学类{public://公有数据成员 College(stringnam="",strings="",inta=0,intnum=0,doublewat=0.0, doubleele=0.0,doublepowerf=0.0,doublewaterf=0.0): name(nam),sex(s),age(a),number(num),water(wat), electric(ele),powerfare(powerf),waterfee(waterf){};//定义构造函数 voidinput();//声明输入函数 voidoutput();//声明输出函数 stringgetname(){returnname;} //获取姓名 intgetage(){returnage;} //获取年龄 doublegetwater(){returnwater;} //获取用水量 doublegeteletric(){returnelectric;} //获取用电量 doublegetpowerfare(){returnpowerfare;} //获取电费 doublegetwaterfee(){returnwaterfee;} //获取水费 intgetnumber(){returnnumber;} //获取编号public://公有类数据成员 stringname;//姓名 stringsex;//性别 intage;//年龄 intnumber;//编号 doublewater;//用水量 doubleelectric;//用电量 doublepowerfare;//电费 doublewaterfee;//水费};////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////classStudent:publicCollege//公有继承基类{public: //公有数据成员 Student(stringnam="",strings="",inta=0,intnum=0, doublewat=0.0,doubleele=0.0,doublepowerf=0.0,doublewaterf=0.0,stringgrad=""): College(nam,s,a,num,wat,ele,powerf,waterf),grade(grad){} //定义学生类构造函数 voidinput(); //声明学生类输入函数 voidoutput(); //声明学生类输出函数public: //公有数据成员 stringgrade;};classStudent_message //声明学生信息类{ Studentstu[capacity]; //学生数组 intamount; //当前的数据量public: Student_message(){amount=0;} //定义当前学生信息容量为0 voidadd(); //声明学生信息添加函数 voidsearch(); //声明学生信息查询函数 voidshow(); //声明学生信息显示函数 voidcompile(); //声明学生信息编辑函数 voiddeletes(); //声明学生信息删除函数 voidstatistics(); //声明学生信息统计函数 voidsaving(); //声明学生信息保存函数 voidreading(); //声明学生信息读取函数};////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidStudent::input() //学生信息输入函数{ cout<<"请输入姓名:"<<endl; cin>>name; intchoice; cout<<"请选择性别(1.男,2.女):"<<endl; cin>>choice; switch(choice) { case1:sex="男";break; case2:sex="女";break; default:cout<<"输入错误!"<<endl;break; } cout<<"请输入年龄:"<<endl; cin>>age; cout<<"请输入班级:"<<endl; cin>>grade; cout<<"请输入学号:"<<endl; cin>>number; cout<<"请输入本月用水量:"<<endl; cin>>water; cout<<"请输入本月用电量:"<<endl; cin>>electric; cout<<"请输入水费:"<<endl; cin>>waterfee; cout<<"请输入电费:"<<endl; cin>>powerfare;}voidStudent::output() //学生信息输出函数{ cout<<"姓名:"<<name<<" " <<"性别:"<<sex<<" " <<"年龄:"<<age<<endl; cout<<"班级:"<<grade<<"" <<"学号:"<<number<<" " <<"用水量:"<<water<<endl; cout<<"用电量:"<<electric<<" " <<"水费:"<<waterfee<<" " <<"电费:"<<powerfare <<endl <<endl;}voidStudent_message::add() //学生信息添加函数{ if(amount>=capacity) { cout<<"警告!用户已满!"<<endl; return; } Studentstud; cout<<"请输入添加人员的信息"<<endl; stud.input(); for(inti=0;i<amount;i++) if(stud.getnumber()==stu[i].getnumber()) { cout<<"该编号人员已存在!"<<endl; return; } stu[amount]=stud; amount=amount+1; cout<<"添加成功!"<<endl;}voidStudent_message::search() //学生信息查询函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } intchoice; cout<<"请选择查询方式:1.编号查找2.姓名查找3.用水量查找4.用电量查找"<<endl; cin>>choice; switch(choice) { case1: { cout<<"请输入要查询的编号:"<<endl; intnumber; cin>>number; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"班级"<<" " <<"学号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(stu[i].getnumber()==number) { stu[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case2: { cout<<"请输入要查询的姓名:"<<endl; stringname; cin>>name; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"班级"<<" " <<"学号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(stu[i].getname()==name) { stu[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case3: { cout<<"请输入要查询的用水量:"<<endl; doublewater; cin>>water; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"班级"<<" " <<"学号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(stu[i].getwater()==water) { stu[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case4: { cout<<"请输入要查询的用电量:"<<endl; doubleelectric; cin>>electric; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"班级"<<" " <<"学号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(stu[i].geteletric()==electric) { stu[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; default:cout<<"无此选项,请重试!"<<endl;break; }}voidStudent_message::show() //学生信息显示函数{ if(amount==0) { cout<<"没有数据!"<<endl; return; } cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"班级"<<" " <<"学号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { stu[i].output(); }}voidStudent_message::compile() //学生信息编辑函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } intnum; cout<<"请输入要查找的编号:"<<endl; cin>>num; for(inti=0;i<amount;i++) { if(stu[i].getnumber()==num) { cout<<"请输入修改的信息"<<endl; stu[i].input(); cout<<"修改成功!"<<endl; return; } } cout<<"查无此人!"<<endl;}voidStudent_message::deletes() //学生信息删除函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } cout<<"请输入您的选择:"<<endl; cout<<"1.编号查找删除 2.姓名查找删除"<<endl; intchoice; cin>>choice; switch(choice) { case1: { cout<<"请输入编号:"<<endl; intnum; cin>>num; for(inti=0;i<amount;i++) { if(num==stu[i].number) { cout<<"是否删除?"<<endl; cout<<"1.是2.否"<<endl; intchoice1; cin>>choice1; switch(choice1) { case1: { for(intk=i;k<amount-1;k++) stu[k]=stu[k+1]; cout<<"删除成功!"<<endl; amount--; };break; case2:return; default:cout<<"不存在此选项!"<<endl;break; }return; } } cout<<"不存在此人!"<<endl; };break; case2: { cout<<"请输入姓名:"<<endl; stringname; cin>>name; for(inti=0;i<amount;i++) { if(name==stu[i].name) { cout<<"是否删除?"<<endl; cout<<"1.是 2.否"<<endl; intchoice2; cin>>choice2; switch(choice2) { case1: { for(intk=i;k<amount-1;k++) stu[k]=stu[k+1]; cout<<"删除成功!"<<endl; amount--; };break; case2:return; default:cout<<"无此项,失败!"<<endl;break; }return; } } cout<<"无此人!"<<endl; };break; default:cout<<"没有此选项,失败!"<<endl;break; }}voidStudent_message::statistics() //统计函数{ cout<<"1.学生用水总量和用电总量 2.学生总的水电费"<<endl; intchoice; cout<<"请选择您的选项:"<<endl; cin>>choice; switch(choice) { case1: { doubleall_water=0.0,all_electric=0.0; for(inti=0;i<amount;i++) { all_water+=stu[i].water; all_electric+=stu[i].electric; } cout<<"学生总用水量为:"<<all_water<<endl; cout<<"学生总用电量为:"<<all_electric<<endl; }break; case2: { doubleall_waterfare=0.0,all_powerfee=0.0; for(inti=0;i<amount;i++) { all_waterfare+=stu[i].waterfee; all_powerfee+=stu[i].powerfare; } cout<<"学生总水费为:"<<all_waterfare<<endl; cout<<"学生总电费为:"<<all_powerfee<<endl; }break; default:cout<<"输入错误!请重新输入!"<<endl;break; }}voidStudent_message::saving() //学生信息保存函数{ ofstreamout("学生.txt",ios::out); if(!out) { cout<<"打开失败!"<<endl; return; } cout<<"打开成功!"<<endl; for(inti=0;i<amount;i++) { out<<stu[i].name<<" " <<stu[i].sex<<" " <<stu[i].age<<" " <<stu[i].grade<<" " <<stu[i].number<<" " <<stu[i].water<<" " <<stu[i].electric<<" " <<stu[i].waterfee<<" " <<stu[i].powerfare<<" " <<endl; } cout<<"写入成功!"<<endl; out.close();}voidStudent_message::reading() //学生信息读取函数{ ifstreamin("学生.txt",ios::in); if(!in) { cout<<"打开失败!"<<endl; return; } intj=0; while(in>>stu[j].name >>stu[j].sex >>stu[j].age >>stu[j].grade >>stu[j].number >>stu[j].water >>stu[j].electric >>stu[j].waterfee >>stu[j].powerfare) { j++; amount++; } cout<<"打开成功!"<<endl; in.close();}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////classTeacher:publicCollege//公有继承基类{public: //公用数据成员 Teacher(stringnam="",strings="",inta=0, intnum=0,doublewat=0.0,doubleele=0.0, doublepowerf=0.0,doublewaterf=0.0,stringdepart=""): College(nam,s,a,num,wat,ele,powerf,waterf),department(depart){} //定义教师类构造函数 voidinput(); //声明教师类输入函数 voidoutput(); //声明教师类输出函数public: stringdepartment;};classTeacher_message //声明教师信息类{ Teacherteach[capacity]; intamount;//定义当前数据数public: Teacher_message(){amount=0;} //初始记录数据数为0 voidadd(); //声明教师信息添加函数 voidsearch(); //声明教师信息查询函数 voidshow(); //声明教师信息显示函数 voidcompile(); //声明教师信息编辑函数 voiddeletes(); //声明教师信息删除函数 voidstatistics(); //声明统计函数 voidsaving(); //声明教师信息保存函数 voidreading(); //声明教师信息读取函数};////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidTeacher::input() //教师信息输入函数{ intchoice3; intchoice4; cout<<"请输入姓名:"<<endl; cin>>name; cout<<"请选择性别(1.男,2.女):"<<endl; cin>>choice3; switch(choice3) { case1:sex="男";break; case2:sex="女";break; default:cout<<"输入错误!"<<endl;break; } cout<<"请输入年龄:"<<endl; cin>>age; cout<<"请选择工作部门:"<<endl; cout<<"1.教务处,2.财务处,3.人事处,4.学生处,5.后勤管理处,6.普通教师"<<endl; cin>>choice4; switch(choice4) { case1:department="教务处";break; case2:department="财务处";break; case3:department="人事处";break; case4:department="学生处";break; case5:department="后勤管理处";break; case6:department="普通教师";break; default:cout<<"输入错误!"<<endl;break; } cout<<"请输入职工号:"<<endl; cin>>number; cout<<"请输入该月老师用水量:"<<endl; cin>>water; cout<<"请输入该月老师用电量:"<<endl; cin>>electric; cout<<"请输入水费:"<<endl; cin>>waterfee; cout<<"请输入电费:"<<endl; cin>>powerfare;}voidTeacher::output() //教师信息输出函数{ cout<<"姓名:"<<name<<" " <<"性别:"<<sex<<" " <<"年龄:"<<age<<endl; cout<<"工作部门:"<<department<<" " <<"职工号:"<<number<<" " <<"老师用水量:"<<water<<endl; cout<<"用电量:"<<electric<<" " <<"水费:"<<waterfee<<" " <<"电费:"<<powerfare <<endl <<endl;}voidTeacher_message::add() //教师信息添加函数{ if(amount>=capacity) { cout<<"警告!用户已满!"<<endl; return; } Teacherteachers; cout<<"请输入添加人员的信息"<<endl; teachers.input(); for(inti=0;i<amount;i++) if(teachers.getnumber()==teach[i].getnumber()) { cout<<"该编号人员已存在!"<<endl; return; } teach[amount]=teachers; amount=amount+1; cout<<"添加成功!"<<endl;}voidTeacher_message::search() //教师信息查询函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } intchoice; cout<<"请选择查询方式:1.编号查找2.姓名查找3.用水量查找4.用电量查找"<<endl; cin>>choice; switch(choice) { case1: { cout<<"请输入要查询的编号:"<<endl; intnumber; cin>>number; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"工作部门"<<" " <<"职工号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(teach[i].getnumber()==number) { teach[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case2: { cout<<"请输入要查询的姓名:"<<endl; stringname; cin>>name; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"工作部门"<<" " <<"职工号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(teach[i].getname()==name) { teach[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case3: { cout<<"请输入要查询的用水量:"<<endl; doublewater; cin>>water; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"工作部门"<<" " <<"职工号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(teach[i].getwater()==water) { teach[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; case4: { cout<<"请输入要查询的用电量:"<<endl; doubleelectric; cin>>electric; cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"工作部门"<<" " <<"职工号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { if(teach[i].geteletric()==electric) { teach[i].output(); } } return; cout<<"此人不存在!"<<endl; }break; default:cout<<"无此选项,请重试!"<<endl;break; }}voidTeacher_message::show() //教师信息显示函数{ if(amount==0) { cout<<"没有数据!"<<endl; return; } cout<<"姓名"<<" " <<"性别"<<" " <<"年龄"<<" " <<"工作部门"<<" " <<"职工号"<<setw(10) <<"用水量"<<setw(10) <<"用电量"<<setw(10) <<"水费"<<setw(10) <<"电费" <<endl <<endl; for(inti=0;i<amount;i++) { teach[i].output(); }}voidTeacher_message::compile() //教师信息编辑函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } intnum; cout<<"请输入所查询的人的编号:"<<endl; cin>>num; for(inti=0;i<amount;i++) { if(teach[i].getnumber()==num) { cout<<"请输入要修改的信息"<<endl; teach[i].input(); cout<<"修改成功!"<<endl; return; } } cout<<"查无此人!"<<endl;}voidTeacher_message::deletes() //教师信息删除函数{ if(amount==0) { cout<<"当前没有人员记录!"<<endl; return; } cout<<"请输入您的选择:"<<endl; cout<<"1.编号查找删除 2.姓名查找删除"<<endl; intchoice; cin>>choice; switch(choice) { case1: { cout<<"请输入编号:"<<endl; intnum; cin>>num; for(inti=0;i<amount;i++) { if(num==teach[i].number) { cout<<"是否删除?"<<endl; cout<<"1.是2.否"<<endl; intchoice1; cin>>choice1; switch(choice1) { case1: { for(intk=i;k<amount-1;k++) teach[k]=teach[k+1]; cout<<"删除成功!"<<endl; amount--; };break; case2:return; default:cout<<"不存在此选项!"<<endl;break; }return; } } cout<<"不存在此人!"<<endl; };break; case2: { cout<<"请输入姓名:"<<endl; stringname; cin>>name; for(inti=0;i<amount;i++) { if(name==teach[i].name) { cout<<"是否删除?"<<endl; cout<<"1.是 2.否"<<endl; intchoice2; cin>>choice2; switch(choice2) { case1: { for(intk=i;k<amount-1;k++) teach[k]=teach[k+1]; cout<<"删除成功!"<<endl; amount--; };break; case2:return; default:cout<<"无此项,失败!"<<endl;break; }return; } } cout<<"无此人!"<<endl; };break; default:cout<<"没有此选项,失败!"<<endl;break; }}voidTeacher_message::statistics() //统计函数{ cout<<"1.老师用水总量和用电总量 2.老师总的水电费"<<endl; intchoice; cout<<"请输入您的选择:"<<endl; cin>>choice; switch(choice) { case1: { doubleall_water=0.0,all_electric=0.0; for(inti=0;i<amount;i++) { all_water+=teach[i].water; all_electric+=teach[i].electric; } cout<<"教师总用水量为:"<<all_water<<endl; cout<<"教师总用电量为:"<<all_electric<<endl; }break; case2: { doubleall_waterfare=0.0,all_powerfee=0.0; for(inti=0;i<amount;i++) { all_waterfare+=teach[i].waterfee; all_powerfee+=teach[i].powerfare; } cout<<"教师总水费为:"<<all_waterfare<<endl; cout<<"教师总电费为:"<<all_powerfee<<endl; }break; default:cout<<"输入错误!请重新输入!"<<endl;break; }}voidTeacher_message::saving() //教师信息保存函数{ ofstreamout("教师.txt",ios::out); if(!out) { cout<<"打开失败!"<<endl; return; } cout<<"打开成功!"<<endl; for(inti=0;i<amount;i++) { out<<teach[i].name<<" " <<teach[i].sex<<" " <<teach[i].age<<" " <<teach[i].department<<" " <<teach[i].number<<" " <<teach[i].water<<" " <<teach[i].electric<<" " <<teach[i].waterfee<<" " <<teach[i].powerfare<<" " <<endl; } cout<<"写入成功!"<<endl; out.close();}voidTeacher_message::reading() //教师信息读取函数{ ifstreamin("教师.txt",ios::in); if(!in) { cout<<"打开失败!"<<endl; return; } intj=0; while(in>>teach[j].name >>teach[j].sex >>teach[j].age >>teach[j].department >>teach[j].number >>teach[j].water >>teach[j].electric >>teach[j].waterfee >>teach[j].powerfare) { j++; amount++; } cout<<"打开成功!"<<endl; in.close();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidstudentMenu(); //声明学生页面主菜单函数voidteacherMenu(); //声明教师页面主菜单函数//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////intmain() //主函数{ intchoice=3; while(choice!=0) { cout<<"\n===============================================================================\n"<<endl; cout<<" 高校水电费管理系统\n"<<endl; ////////////////////////////////////////////////////////////////////////////////////////////////////// // 管理系统的项目选择主界面并且旗下有两个子系统 // // 一个是关于教师的,另一个是关于学生的 // ////////////////////////////////////////////////////////////////////////////////////////////////////// cout<<"0.退出系统 1.教师水电费管理系统 2.学生水电费管理系统"<<endl<<endl; cout<<"请输入您的选择:"<<endl; cin>>choice; switch(choice) { case1:teacherMenu();break; case2:studentMenu();break; case0:cout<<"您已退出系统!"<<endl;break; default:cout<<"不存在此选项!请重选!"<<endl;break; } } cout<<"\n================================欢迎下次您的再次使用===========================\n"<<endl; getchar(); return0;}voidstudentMenu() //学生页面主菜单函数{ Student_messagestudents; intchoice=9; while(choice!=0) { cout<<"\n===============================================================================\n"<<endl; cout<<" 学生水电费管理系统\n"<<endl; //学生水电费管理系统各种功能的选择 cout<<"0.退出 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计\n"<<endl; cout<<"请输入您的选择:"<<endl; cin>>choice; switch(choice) { case1:students.add();break; case2:students.search();break; case3:pile();break; case4:students.deletes();break; case5:students.show();break; case6:students.saving();break; case7:students.reading();break; case8:students.statistics();break; case0:cout<<"已退出系统!"<<endl;break; default:cout<<"不存在此选项!请重选!"<<endl;break; } }}voidteacherMenu() //教师页面主菜单函数{ Teacher_messageteachers; intchoice=9; while(choice!=0) { cout<<"\n===============================================================================\n"<<endl; cout<<" 教师水电费管理系统\n"<<endl; //教师水电费管理系统各种功能的选择 cout<<"0.退出 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计\n"<<endl; cout<<"请输入您的选择:"<<endl; cin>>choice; switch(choice) { case1:teachers.add();break; case2:teachers.search();break; case3:pile();break; case4:teachers.deletes();break; case5:teachers.show();break; case6:teachers.saving();break; case7:teachers.reading();break; case8:teachers.statistics();break; case0:cout<<"已退出系统!"<<endl;break; default:cout<<"不存在此选项!请重选!"<<endl;break; } }}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器\t"_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论