用C实现水电煤气管理系统样本_第1页
用C实现水电煤气管理系统样本_第2页
用C实现水电煤气管理系统样本_第3页
用C实现水电煤气管理系统样本_第4页
用C实现水电煤气管理系统样本_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程设计题目:水电煤气管理系统学生姓名:专业:网络工程班级:10211303指引教师:姜林11月25日东华理工大学课程设计评分表学生姓名:班级:学号:课程设计题目:水电煤气管理系统项目内容满分实评选题能结合所学课程知识、有一定能力训练。符合选题规定(5人一题)10工作量适中,难易度合理10能力水平能纯熟应用所学知识,有一定查阅文献及运用文献资料能力10理论根据充分,数据精确,公式推导对的10能应用计算机软件进行编程、资料收集录入、加工、排版、制图等10能体现创造性思维,或有独特看法10成果质量总体设计对的、合理,各项技术指标符合规定。10阐明书综述简洁完整,概念清晰、立论对的、技术用语精确、结论严谨合理;分析解决科学、条理分明、语言流畅、构造严谨、版面清晰10设计阐明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范精确,符合国标10有一定篇幅,字符数不少于500010总分100指引教师评语:指引教师签名:年月日问题描述:设计一种水电管理信息系统,可以对高校水电费用进行管理,涉及了登记费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时不同,学生可以免费使用一定额度水电,超过这个额度随便后来必要自费使用,且自费某些水电费价格原则要高于教工收费原则(重要是节约资源)。设计思路:(一)程序功能:1.实现对顾客信息录入2.实现水电煤气数据录入3.计算并查询顾客应缴费用4.查询未缴纳费用名单(二)程序阐明:1.在主函数中通过度支选取可以跳转不同功能选项进而实现2.在显示主菜单函数中,咱们通过设计和谐界面来与顾客进行交互。在“请选取相应功能(0-4):”中使用者输入非0-4数字或其她字符时,系统提示“请检查您输入数字在0~4之间!请在输入一遍!”信息,以协助顾客进行对的选取。3.一方面建立了User类,用于初始化身份证号码、姓名、用水电、煤气量,又定义了缴费函数setMonery(),用在有人缴费函数体中,从键盘输入缴费用,一开始咱们在setMoney(),中没有对缴费用进行累加,在查询信息时现实应缴费用不对的,通过咱们努力,检查出错误并加以改正,让程序更加完善。4.用User类派生出Student和|Teacher类,其中有计算应当缴费用,Student类比Teacher类多了免费。5.在保存文献解决中,需考虑到“创立保存文献失败!”和“已成功保存文献!”等诸多内容。(三)文献类型:(1)Constant.h用于存储收费原则。(2)File.cpp该文献中有两个类:StuFile类,重要用于对学生信息操作函数属性注释PublicStuFile()构造函数Publicvoidadd(Student&s)将S添加到文献中Publicvoiddisplay()依次显示所有学生信息PublicStudent*gerStudent(stringid)得到学号为id学生对象指针Public~StuFile()析构函数,释放资源,并把数组中信息存进文献Publicvoidwjf()未缴费学生名单Privatevector<Student>*stuList;学生信息向量数组,用于保存所有学生信息2TeacherFile类,重要用于对教工信息操作PublicTeacherFile()构造函数Publicvoidadd(Teacher&s)将s添加到文献中Publicvoiddisplay()依次显示所有教师信息PublicTeacher*getTeacher(stringid)得到编号为id教师对象指针Public~TeacherFile()析构函数,释放资源,并把数组中信息存进文献Publicvoidwjf()未交费教工人员名单PrivateVector<Teacher>*teaLisr教工向量数组,用于保存所有教工信息(3)Main.cpp函数属性注释voidinit()新建一种学生或者教工信息voidselect()查询界面,依照顾客输入来显示顾客想查询信息voidadd()信息录入,录入学生或者教工水电煤气信息voidhanded()缴费,有学生或者教工缴费时候调用此函数intmainMenu()主菜单,显示一种菜单,返回顾客输入voidwork()程序开始工作intmain()主函数,程序入口(4)Student.cppClassStudent:virtualpublicUser函数属性注释PublicStudent():User(“”,””,0,0,0)构造函数PublicStudent(stringi,stringn,Floatw=0,floatp=0,floatg=0):User(i,n,w,p,g)构造函数i:学号n:姓名Publicvoiddisplay()依次显示所有学生信息Publicfloatdisplay()返回学生应缴费用PrivatefloatfreeWater;学生免费使用水量PrivatefloatfreePower;学生免费使用电量PrivatefloatfreeGas;学生免费使用煤气量Privatefloatmoney;缴费(5)Teacher.cppClassTeacher:virtualpublicUser函数属性注释PublicTeacher(stringi,stringn,floatw=0,floatp=0,floatg=0):User(I,n,w,p,g)构造函数Publicvoiddisplay()依次显示所有教工信息PublicfloatgetMoney()返回教工应缴费用(6)User.cpp函数属性注释PublicUser(stringi,stringn,floatw=0,floatp=0,floatg=0)构造函数PublicstringgetId()获取编号PublicstringgetName()获取姓名PublicvoidsetId(stringi)设立编号PublicvoidsetName(stringn)设立姓名PublicvoidsetWater(floatw)设立水量PublicvoidsetPower(floatp)设立电量PublicvoidsetGas(floatg)设立煤气量PublicfloatgetWater()使用水量Publicvirtualvoiddisplay()=0;依次显示所有信息PublicvoidsetMoney(floatm)缴费PublicvirtualfloatgetMoney()=0;应缴费用(四)UML图:StuFile+id:string+name:string+useWater:float+usePower:float+useGas:float+money:float+add():void+display():void+wjf():voidStudent-freeWater:float-freePower:float-freeGas:float+display():void+getMoney():voidUser+i:string+n:string+w:float+p:float+g:float+getId():string+getName():string+setId(stringi):string+setName(stringn):string+setWater(floatw):float+setPower(floatp):float+setGas(floatg):float+getWater():float程序代码:Constant.h//收费原则#ifndefConstant#defineConstant//教师conststaticfloatTwaterUnit=1;conststaticfloatTpowerUnit=1;conststaticfloatTgasUnit=1;//学生conststaticfloatSwaterUnit=1;conststaticfloatSpowerUnit=1;conststaticfloatSgasUnit=1;//保存学生信息文献conststaticchar*stuFlieName="s.txt";//保存教师信息文献conststaticchar*teaFileName="t.txt";#endifMain.cpp#include<iostream>#include<iomanip>#include<string>#include<vector>#include"Student.cpp"#include"Teacher.cpp"#include"File.cpp"usingnamespacestd;voidinit(){ cout<<endl; cout<<"1.新建教工信息\n" <<"2.新建学生信息\n"<<endl; cout<<"请选取你要进行操作:"<<endl; into; cin>>o; if(o==1) { stringid; stringname; cout<<"请输入新教工身份证号:"; cin>>id; cout<<"请输入新教工姓名:"; cin>>name; Teachert(id,name); TeacherFiletf; tf.add(t); } elseif(o==2) { stringid; stringname; cout<<"请输入新学生身份证号:"; cin>>id; cout<<"请输入新学生姓名:"; cin>>name; Students(id,name); StuFilesf; sf.add(s); } else return;}voidselect(){ cout<<endl; cout<<"1.学生信息\n" <<"2.教师信息\n" <<"3.按身份证号查询\n" <<"4.未缴费人员名单\n" <<"5.不进行任何操作\n"<<endl; cout<<"请输入你要进行操作:"; into; cin>>o; StuFilesf; TeacherFiletf; if(o==1) { cout<<"该顾客信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; sf.display(); } elseif(o==2) { cout<<"该顾客信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; tf.display(); } elseif(o==3) { User*user; StuFilesf; TeacherFiletf; stringid; cout<<"请输入她身份证号:"; cin>>id; user=sf.getStudent(id); if(user==0) user=tf.getTeacher(id); if(user==0) { cout<<"资料库中没有该身份证号顾客!"<<endl; return; } cout<<"该顾客信息为:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; user->display(); } elseif(o==4) { sf.wjf(); tf.wjf(); } else return;}voidadd(){ cout<<"1.对教工使用水电煤气信息录入"<<endl <<"2.对学生使用水电煤气信息录入"<<endl <<"3.不进行任何操作"<<endl; cout<<"请输入你要进行操作:"<<endl; into; cin>>o; stringid; floatwater; floatpower; floatgas; if(o==1||o==2) { User*user; StuFilesf; TeacherFiletf; cout<<"请输入她身份证号:"; cin>>id; user=sf.getStudent(id); if(user==0) user=tf.getTeacher(id); if(user==0) { cout<<"资料库中没有该身份证号顾客!"<<endl; return; } cout<<"该顾客信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; user->display(); cout<<"请输入她用水量:"; cin>>water; cout<<"请输入她用电量:"; cin>>power; cout<<"请输入她用煤气量:"; cin>>gas; user->setWater(water); user->setPower(power); user->setGas(gas); } else return;}voidhanded(){ cout<<"请输入要缴费人身份证号:"; stringid; cin>>id; User*user; StuFilesf; TeacherFiletf; user=sf.getStudent(id); if(user==0) user=tf.getTeacher(id); if(user==0) { cout<<"资料库中没有该身份证号顾客!"<<endl; return; } cout<<"该顾客信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; user->display(); cout<<"请输入她缴费金额:"; floatmoney; cin>>money; user->setMoney(money); cout<<"缴费成功\n";}intmainMenu(){ cout<<endl<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<"☆☆"<<endl; cout<<"☆水电煤气管理系统☆"<<endl; cout<<"☆☆"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<endl; cout<<"1.新建顾客信息"<<endl; cout<<"2.信息查询"<<endl; cout<<"3.信息录入"<<endl; cout<<"4.有人缴费"<<endl; cout<<"0.退出系统"<<endl; inta; charc[20]; do { cout<<"请选取相应功能(0-4):"<<endl; cout<<endl; cin>>a; gets(c); if(a<0||a>4) { cout<<endl<<endl; cout<<"请确认您输入数字在0~4之间!"<<endl; cout<<"请重新输入一遍!"<<endl<<endl; } } while(a<0||a>4); returna;}voidwork(){ switch(mainMenu()) { case1: init(); break; case2: select(); break; case3: add(); break; case4: handed(); break; default: break; }}voidMenu(){ cout<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<"☆☆"<<endl; cout<<"☆水电煤气管理系统☆"<<endl; cout<<"☆☆"<<endl; cout<<"☆杨振坡☆"<<endl; cout<<"☆☆"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<endl; system("pause"); system("cls");}voidmain(){ system("color3A"); Menu(); chara='y'; while(a=='y') { work(); cout<<"与否继续使用该系统(y/n)"<<endl; cin>>a; }}File.cpp//StuFile类,对学生信息操作//TeacherFile类,对教工信息操作#include<iostream>#include<iomanip>#include<fstream>#include<vector>#include<string>#include"Student.cpp"#include"Teacher.cpp"#include"User.cpp"#include"Constant.h"#ifndefStuFile_class#defineStuFile_classclassStuFile{ vector<Student>*stuList;public: stringid; stringname; floatuseWater; floatusePower; floatuseGas; floatmoney; StuFile() { stuList=newvector<Student>; ifstream*is=newifstream("StuFileName",ios_base::in); if(is==0) { cout<<"打开文献失败!"<<endl; return; } else { while(is->good()) { Students("",""); is->read((char*)&s,sizeof(Student)); if(s.getId()!="") { stuList->push_back(s); } } } is->close(); } voidadd(Student&s) { stuList->push_back(s); } voiddisplay() { for(inti=0;i<stuList->size();i++) { Students=stuList->at(i); s.display(); } } Student*getStudent(stringid) { for(inti=0;i<stuList->size();i++) { if(stuList->at(i).getId()==id) return&stuList->at(i); } return0; } ~StuFile() { if(stuList!=NULL&&!stuList->empty()) { ofstreamos("stuFileName",ios_base::out); for(inti=0;i<stuList->size();i++) { if(stuList->at(i).getId()!="") os.write((char*)&stuList->at(i),sizeof(Student)); } os.close(); deletestuList; } } voidwjf() { cout<<"未缴费学生名单:"<<endl; for(inti=0;i<stuList->size();i++) { Students=stuList->at(i); if(s.getMoney()>0) { cout<<"该学生信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴纳费用"<<endl; s.display(); } } }};#endif#ifndefTeaFile_class#defineTeaFile_classclassTeacherFile{ vector<Teacher>*teaList;public: TeacherFile() { teaList=newvector<Teacher>; ifstream*is=newifstream(teaFileName,ios_base::in); if(is==0) { cout<<"打开文献失败!"<<endl; return; } else { while(is->good()) { Teachers("",""); is->read((char*)&s,sizeof(Teacher)); if(s.getId()!="") { teaList->push_back(s); } } } is->close(); } Teacher*getTeacher(stringid) { for(inti=0;i<teaList->size();i++) { if(teaList->at(i).getId()==id) return&teaList->at(i); } return0; } voidwjf() { cout<<"教工未缴费人员名单:"<<endl; for(inti=0;i<teaList->size();i++) { Teachert=teaList->at(i); if(t.getMoney()>0) { cout<<"该教师信息是:"<<endl; cout<<"|"<<setw(18)<<"身份证号"<<"|" <<setw(8)<<"姓名"<<"|" <<setw(8)<<"用水量"<<"|" <<setw(8)<<"用电量"<<"|" <<setw(8)<<"用煤气量"<<"|" <<setw(8)<<"要缴费用"<<endl; t.display(); } } } voiddisplay() { for(inti=0;i<teaList->size();i++) { Teachert=teaList->at(i); t.display(); } } voidadd(Teacher&s) { teaList->push_back(s); } ~TeacherFile() { if(teaList!=NULL&&!teaList->empty()) { ofstreamos(teaFileName,ios_base::out); for(inti=0;i<teaList->size();i++) { if(teaList->at(i).getId()!="") os.write((char*)&teaList->at(i),sizeof(Teacher)); } os.close(); deleteteaList; } }};#endifStudent.cpp#ifndefSTUDENT_CLASS#defineSTUDENT_CLASS#include<iostream>#include<iomanip>#include<string>#include"Constant.h"#include"User.cpp"usingnamespacestd;classStudent:virtualpublicUser{private: floatfreeWater; floatfreePower; floatfreeGas;public: Student():User("","",0,0,0) { freeWater=1; freePower=2; freeGas=3; } Student(stringi,stringn, floatw=0,floatp=0,floatg=0):User(i,n,w,p,g) {} voiddisplay() { cout<<"|"<<setw(18)<<id<<"|" <<setw(8)<<name<<"|" <<setw(8)<<useWater<<"|" <<setw(8)<<usePower<<"|" <<setw(8)<<useGas<<"|" <<setw(8)<<getMoney()<<endl; } floatgetMoney() { floatw=SwaterUnit*((useWater>freeWater)?(useWater-freeWater):0); floatp=SpowerUnit*((usePower>freePower)?(usePower-freePower):0); floatg=SgasUnit*((useGas>freeGas)?(useGas-freeGas):0); returnw+p+g-money; }};#endifTeacher.cpp#include"User.cpp"#include"Constant.h"#ifndefTeacher_class#defineTeacher_classclassTeacher:virtualpublicUser{public: Teacher(stringi,stringn, floatw=0,floatp=0,floatg=0):User(i,n,w,p,g) {} voiddisplay() { cout<<"|"<<setw(18)<<id<<"|" <<setw(8)<<name<<"|" <<setw(8)<<useWater<<"|" <<setw(8)<<usePower<<"|" <<setw(8)<<useGas<<"|" <<setw(8)<<getMoney()<<endl; } floatgetMoney() { floatw=TwaterUnit*useWater; floatp=TpowerUnit*usePower; floatg=TgasUnit*us

温馨提示

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

评论

0/150

提交评论