< } } if(k==0) cout<<\查无此人!\ }break; case 2: { double waters; cin>>waters; int k=0; for(int i=0;i cout< < k=1; } if(k==0) cout<<\查无此用水量!\ }break; case 3: { double powers; cin>>powers; int k=0; for(int i=0;i cout< < k=1; } if(k==0) cout<<\查无此用电量!\ }break; default:cout<<\无此选项!请重试!\ break; } } void Show() //显示信息 { cout< void Student::Compile() //修改学生信息 { string nums; cin>>nums; int k=0; for(int i=0;i Student s; s.Inputs(); for(int t=0;t if(t==i) continue; cout<<\该编号的用户已存在!修改不成功!\ return; } stu[i]=s; cout< cout<<\修改成功!\ k=1; } if(k==0) cout<<\查无此人!\} Void Delete() //删除信息 { int chioce; cin>>chioce; switch(chioce) { case 1: { string nums; cin>>nums; int k=0; for(int i=0;i { int choice=2; cin>>choice; switch(choice) { case 1: for(int j=i;j case 0:k=2;break; default:cout<<\无此项!\ } } if(k==1) cout<<\删除成功!\ else if(k==2) cout<<\查找到此学号,但未删除!\ else cout<<\查无此学号!\ }break; case 2: { cout<<\请输入姓名:\ string names; cin>>names; int k=0; for(int i=0;i int choice=2; cin>>choice; switch(choice) { case 0: k=2;break; case 1: for(int j=i;j default:cout<<\无此项!\ } if(k==1) cout<<\删除成功!\ else if(k==2) cout<<\查找到此学号,但未删除!\ } if(k==1) cout<<\查无此学号!\ }break; default: cout<<\无此项!\ } } void Total() //统计信息 { int t=0; for(int i=0;i cout< t=1; } if(t==0) cout<<\无未缴费人员!\} void Read() //读取信息 { ifstream in_file(\学生.txt\ if(!in_file) { cout<<\打开失败!\ return; } int i=0; while(in_file>>stu[i].num>>stu[i].name>>stu[i].sex>>stu[i].old>>stu[i].classrome >>stu[i].water>>stu[i].watermoney>>stu[i].power>>stu[i].powermoney>>stu[i].flag) { cout< i++; } in_file.close(); } 三、调试分析 1.实际完成的情况说明(完成的功能,支持的数据类型等) 完成的功能: (1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 (3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。 (6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。 (7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。 (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。 (9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。 支持类型:编号、年龄支持int型,姓名、性别、工作部门、班级、交费情况支持string型,用电量、用水量、电费、水费支持double型。 2.程序的性能分析 程序主要使在类中操作,将所有记录存入对象数组和文件,采用顺序存储结构对数组进行操作,从而实现需要的操作。 3.上机过程中出现的问题及其解决方案 1.对类的数据成员进行定义时,起初定义为私有数据,结果继承类不能访问,这是类的访问权限出了问题,于是将其改成了公有数据成员,继承类能够对其进行访问了。 2.继承类对基类的访问出现了错误。由于Student类和Teacher类都是从Person类继承的,会出现二义性,因此将其改成虚基类,这样就不会出现二义性飞的问题。 3.由于要输入多组数据,因此要定义对象数组,而且要定义为全局变量,否则不会得到有效的修改。 4.当系统关闭以后,再打开系统进行操作,若是添加文件中已经存在的编号,还是会添加到文件中去,这是因为文件的更新和当前系统的更新不一直,因此在最开始打开系统是就应该将文件中的记录读取到当前系统中。 4.程序中可以改进的地方说明 1.程序应该可以实现输入信息的正确性,例如输入性别的时候,如果不是男或女,可以输出提示信息等。 2.对于学生所在班级、性别,老师工作部门、性别等操作可以采用选择的模式,将信息录入文件中,这样可以使输入更方便。 3.对于每一次信息的操作应该输出相应的原有信息和现有信息,以防信息出错。 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库高校水电费管理(3)在线全文阅读。
相关推荐: