• 434.50 KB
  • 46页

高校水电费管理.doc

  • 46页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
青岛理工大学C++面向对象课程设计报告院(系):计算机工程学院专业:软件工程学生姓名:沈芳班级软件133学号:题目:高校水电费管理系统设计_______起迄日期:_2015.6.29~2015.7.10设计地点:计算机学院机房指导教师:王成钢周全强完成日期:2015年7月10日 任务书题目9“高校水电费管理系统设计”1、问题描述住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信息。教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。能计算出学生和教工每月所要交的电费和水费。定义一个人员类,实现学生和教工共同的信息和行为。2、功能要求(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。(3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。(6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。(9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。 课程设计报告内容一、需求分析1.选做此课题或项的目的1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。(3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作。2.程序所实现的功能(1)添加功能:程序能够添加职工的记录和工作量,可提供选择界面供用户选择所要添加的类别,要求职工的编号要唯一,如果添加了重复职工号的职工记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据职工号、姓名等信息对已添加的职工记录进行查询。还可以按职工号对工作量进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。(3)显示功能:可显示当前系统中所有职工记录和工作量统计信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的人员记录进行删除和工作量进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。(6)统计功能:对职工可按工作量进行统计,并排名次。(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。(9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。 二、内容设计1.根据所选题目,给出模块图图2.1高校水电费管理系统模块图 2.画出主程序及其主要模块的流程图图2.2main()函数图2.3添加函数 图2.4菜单函数 图2.5查找函数 图2.6修改函数图2.7显示函数 图2.8删除函数 3.编写程序关键代码voidAdd()//添加信息{Students;cout<<"输入新添人员信息"<>chioce;switch(chioce){case1:{stringname;cin>>name;intk=0;for(inti=0;i>waters;intk=0;for(inti=0;i>powers;intk=0;for(inti=0;i>nums;intk=0;for(inti=0;i>chioce;switch(chioce){case1:{stringnums;cin>>nums;intk=0;for(inti=0;i>choice;switch(choice){case1:for(intj=i;j>names;intk=0;for(inti=0;i>choice;switch(choice){case0:k=2;break;case1:for(intj=i;j>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<#include#include#include#include#defineMAX100usingnamespacestd;classPerson{public: stringnum;//编号stringname;//姓名stringsex;//性别intold;//年龄doublepower;//用电量doublewater;//用水量doublewatermoney;//水费doublepowermoney;//电费stringflag;//缴费标志public:Person(stringn="",stringnm="",strings="",intd=0,doublep=0,doublew=0,doublewm=0,doublepm=0,stringf="否")//构造函数{num=n;name=nm;sex=s;old=d;power=p;water=w;watermoney=wm;powermoney=pm;flag=f;}};intamount;//记录当前记录的个数classStudent:virtualpublicPerson{public:stringclassrome;//班级public:Student(stringn="",stringnm="",strings="",intd=0,doublep=0,doublew=0,stringcr="",doublewm=0,doublepm=0,stringf="否"):Person(n,nm,s,d,p,w,wm,pm,f)//构造函数{classrome=cr;}voidInput();voidInputs();voidOutput();voidAdd();//添加信息voidSearch();//查询信息voidShow();//显示信息voidCompile();//修改信息voidDelete();//删除信息 voidTotal();//数据统计voidSave();//保存信息voidRead();//读取信息};Studentstu[MAX];//学生对象数组intcmp1(constvoid*a,constvoid*b){Student*c=(Student*)a;Student*d=(Student*)b;if(c->num>d->num)return1;elsereturn-1;}voidStudent::Input()//输入学生信息{cout<<"请输入学号:"<>num;cout<<"请输入姓名:"<>name;cout<<"请输入性别:"<>sex;cout<<"请输入年龄:"<>old;cout<<"请输入班级:"<>classrome;cout<<"请输入本月用水量:"<>water;cout<<"请输入本月用电量:"<>power;if(water>10)//学生水电费一定额度限免watermoney=(water-10)*0.5;if(power>10)powermoney=(power-10)*0.5;}voidStudent::Inputs()//输入学生信息{Input();cout<<"是否已缴水电费:"<>flag;}voidStudent::Add()//添加学生信息{if(amount>=100){cout<<"用户已满!"<>chioce;switch(chioce){case1:{stringname;cout<<"请输入要查找的姓名:"<>name;intk=0;cout<<""<<"编号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"班级"<<""<<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>waters;intk=0;cout<<""<<"编号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"班级"<<""<<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>powers;intk=0;cout<<""<<"编号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"班级"<<"" <<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>nums;intk=0;for(inti=0;i>chioce;switch(chioce){case1:{cout<<"请输入学号:"<>nums;intk=0;for(inti=0;i>choice;switch(choice) {case1:for(intj=i;j>names;intk=0;for(inti=0;i>choice;switch(choice) {case0:k=2;break;case1:for(intj=i;j>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<num>d->num)return1;elsereturn-1;}voidTeacher::Input()//输入教师信息{cout<<"请输入职工号:"<>num;cout<<"请输入姓名:"<>name;cout<<"请输入性别:"<>sex; cout<<"请输入年龄:"<>old;cout<<"请输入工作部门:"<>depart;cout<<"请输入本月用水量:"<>water;cout<<"请输入本月用电量:"<>power;watermoney=water*0.5;powermoney=power*0.5;}voidTeacher::Inputs()//输入教师信息{Input();cout<<"是否已缴水电费:"<>flag;}voidTeacher::Add()//添加教师信息{if(amount>=100){cout<<"用户已满!"<>chioce;switch(chioce){case1:{stringname;cout<<"请输入要查找的姓名:"<>name;intk=0;cout<<"职工号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"工作部门"<<""<<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>waters;intk=0;cout<<"职工号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"工作部门"<<""<<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>powers;intk=0;cout<<"职工号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"工作部门"<<""<<"用水量"<<""<<"水费"<<""<<"用电量"<<""<<"电费"<<""<<"缴费"<>nums;intk=0;for(inti=0;i>chioce;switch(chioce){case1: {cout<<"请输入职工号:"<>nums;intk=0;for(inti=0;i>choice;switch(choice){case0:k=2;break;case1:for(intj=i;j>names;intk=0;for(inti=0;i>choice;switch(choice){case0:k=2;break;case1:for(intj=i;j>tea[i].num>>tea[i].name>>tea[i].sex>>tea[i].old>>tea[i].depart>>tea[i].water>>tea[i].watermoney>>tea[i].power>>tea[i].powermoney>>tea[i].flag){cout<>choice;switch(choice){case0:cout<<"您已退出系统!"<>stu[amount].num>>stu[amount].name>>stu[amount].sex>>stu[amount].old>>stu[amount].classrome>>stu[amount].water>>stu[amount].watermoney>>stu[amount].power>>stu[amount].powermoney>>stu[amount].flag){amount++;}in_file.close();Studentstudents;intchoice=8;while(choice!=0){ cout<<"****************************************************************************** "<>choice;switch(choice){case1:students.Add();break;case2:students.Search();break;case3:students.Compile();break;case4:students.Delete();break;case5:students.Show();break;case6:students.Read();break;case7:students.Total();break;case0:main();break;default:cout<<"不存在此选项!请重选!"<>tea[amount].num>>tea[amount].name>>tea[amount].sex>>tea[amount].old>>tea[amount].depart>>tea[amount].water>>tea[amount].watermoney>>tea[amount].power>>tea[amount].powermoney>>tea[amount].flag){amount++;}in_file.close();Teacherteachers;intchoice=8; while(choice!=0){cout<<"****************************************************************************** "<>choice;switch(choice){case1:teachers.Add();break;case2:teachers.Search();break;case3:teachers.Compile();break;case4:teachers.Delete();break;case5:teachers.Show();break;case6:teachers.Read();break;case7:teachers.Total();break;case0:main();break;default:cout<<"不存在此选项!请重选!"<