C++课程设计高校水电管理系统

合集下载

C课程设计高校水电费管理系统

C课程设计高校水电费管理系统

# i n c l u d e < iostream>#include<string>#include<fstream>#include<iomanip>constintTMAX=50;usingnamespacestd;classPerson{public:intn um;2.女)"<<e ndl;cout«"请输入你的选择"<<endl;cin>>choice2;switch(choice2){case1:sex='男”;break;case2:sex='女”;break;default:cout<<"输入错误。

"<<endl;break;}coutvv"请输入年龄:"<<e ndl;cin>>age;cout«"请选择工作部门:"<<e ndl;cout<vsetw(10)vv"1.普通教师"<<setw(10)vv"2.教务处"<<setw(10)vv"3. 财政处"<<setw(10)<<"4. 创业办公室"<<endl;cout«"请输入你的选择"<<endl;cin>>choice1;switch(choice1){case1:depart=普通教师";break;case2:depart=教务处";break;case3:depart=财政处";break; case4:depart二创业办公室";break;default:cout<<"输入错误。

c语言程序设计水利水电

c语言程序设计水利水电

c语言程序设计水利水电
水利水电是指水资源和水力资源的综合利用,主要包括水资源调配、水库调度、水电站调度等内容。

在实际的水利水电工程中,需要运用计算机技术来实现自动化、智能化管理和控制。

而C语言作为一种高级编程语言,被广泛应用于水利水电工
程的程序设计中,可以编写各种水利水电系统的管理、控制、仿真等软件。

在进行水利水电程序设计时,需要考虑到水资源的供需平衡、水库水电站的调
度策略、水电站的发电效率等因素,以实现对水利水电系统的有效管理和控制。

在C语言程序设计中,可以利用各种数据结构、算法和函数来实现水利水电系统的模拟、优化、调度等功能。

水利水电系统的程序设计可以分为以下几个方面:
1.水库水电站调度系统设计:根据水库水电站的水位、流量、电力需求等数据,设计一个水库水电站调度系统,实现水资源的合理调配和水电的高效利用。

2.水利工程仿真模拟:利用C语言编程,实现水利工程的仿真模拟,包括水库
水电站的水位变化、水流速度、水电站的发电情况等。

3.水电站监控系统设计:设计水电站的实时监控系统,监测水电站的运行状态、水位、水流等参数,保障水电站的安全稳定运行。

4.水资源调配优化算法:设计水资源调配的优化算法,根据水库水电站的水位、水流等数据,自动调整水资源的分配,以实现水资源的高效利用。

通过C语言程序设计水利水电系统,可以提高水资源的利用效率、水电的发电效率,实现水利水电系统的智能化、自动化管理,为水利水电工程的建设和运行提供技术支持。

C语言的灵活性和高效性,使得水利水电系统的程序设计更加简洁、
高效,满足水利水电系统的实际需求。

水电费充缴费系统(C语言设计)

水电费充缴费系统(C语言设计)

项目报告——水电气费查询及充值系统谢培伟本系统是是面向学生及管理员而开发的,也就是说,本系统共有两个大端口:学生端、管理端。

学生端:学生端是针对学生生活查询及充值缴费而设计的,内分为原用户登录及新用户注册两块,学生的数据是利用文件操作储存在xstdate.dat文件。

管理端:管理端的设计则方便了管路员对学生账户数据的修改与查询。

程序流程图:本人主要负责学生端的学生登录密码的判断、水电气费的查询及充值,其中变量t是用来读取用户是进入学生端还是管理端,变量xs是判断用户是登录还是注册,用jm=strcmp(xsdbmm,xsdlmm)来判断密码的正确性,变量xstzh是登陆后用来读取用户进哪个服务的。

为了能使用户能返回到上一层,我们后来使用了goto语句,这也给我们带来不必要的麻烦,例如,用户修改了自己的数据后使用goto返回上一层时,系统它不会储存修改后的数据,后来,我们只能在每个goto执行前就用文件操作先储存起来,则加上xstdate=fopen("xstdate.dat","w");/*修改后把学生账号信息写入xstdate.dat*/for(i=0;i<50;i++){fwrite(&xsd[i],sizeof(xsd[i]),1,xstdate);}fclose(xstdate);这样就使程序更加繁琐了。

源代码中的xpw()为{printf("\n");/*系统初始界面*/printf("**************************\n");printf(" **欢迎使用水电气管理系统**\n");printf("**************************\n");printf("\n");}是为了修饰整个执行局面。

代码中的xstczs、xstczd、xstczq分别为水、电、气充值的量,将充值的量加上原先的量再赋值储存,就完成了水电气费的充值。

毕业设计(论文)-水电管理系统

毕业设计(论文)-水电管理系统

毕业设计<<水电管理系统>>院系______专业______班级______姓名______日期年月日中文摘要水电管理系统为水电收费管理人员日常工作的抄表,报表生成,费用计算等提供充足的信息和快捷的查询手段.其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

利用DELPHI 6.0软件及其提供的各种面向对象的开发工具,建立完整性强、安全性好的数据库,开发出功能完备,易使用的应用程序。

经过调试、编译与实现,该程序界面友好、程序设计风格朴素,使用起来美观大方、方便易用。

尤其是系统的“报表生成模块”的功能极大的减轻工作人员的工作量,并以快速、准确等优点取代人工操作,提高了水电管理工作效率。

关键词:DELPHI 6.0 信息管理系统数据库模块水电管理系统Utilities Management System for management of day-to-day work of the utility meter-reading fee, statements generated, the cost of the provision of adequate means of information and quick enquiries. Its development mainly to the establishment and maintenance of databases including background and the development of two front-end applications. Delphi 6.0 and the use of object-oriented software development tools, the establishment of strong integrity, good safety database developed functions, easy to use applications. After debugging, Translation and the realization that the process friendly interface, simple programming style, using up aesthetic generous, convenient user-friendly. In particular system "statements generated module" function greatly reduce the workload of staff, and to the rapid, accurate, and other advantages replace manually operated, and enhanced power management efficiency.Keyword : Delphi 6.0 Information Management System database module utilities management system引言 11 Delphi语言概述 21.1 Delphi简介 21.2 数据库系统简介 51.3 本应用软件的基本介绍 72 本应用程序的构成和开发步骤92.1 可行性研究102.1.1 经济可行性112.1.2 时间可行性122.1.3 技术可行性132.1.4 社会可行性142.2 数据库的建立和连接152.3 系统的总体设计 172.4 系统的详细设计 193 本程序的技术实现及具体功能213.1 登录的界面与程序设计实现243.2 系统参数配置界面与代码设计实现34 3.3 类型维护界面与代码设计实现453.4 抄表界面与代码设计523.5 报表管理界面设计与代码设计 55结论60致谢61参考文献62引言随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。

课程设计报告用C实现水电煤气管理系统毕业论文

课程设计报告用C实现水电煤气管理系统毕业论文

课程设计报告课程设计题目:水电煤气管理系统一.问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以与住户信息管理等。

在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。

二.设计思路:(一)程序功能: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该文件中有两个类:.1.StuFile类,主要用于对学生信息的操作函数属性注释Public StuFile() 构造函数Public void add(Student&s)将S添加到文件中Public void display() 依次显示所有的学生的信息Public Student*gerStudent(stringid) 得到学号为id的学生的对象指针Public ~StuFile() 析构函数,释放资源,并把数组中的信息存进文件Public void wjf() 未缴费的学生的Private vector<Student>*stuList;学生信息的向量数组,用于保存所有学生的信息2 TeacherFile 类,主要用于对教工信息的操作Public TeacherFile() 构造函数Public voidadd(Teacher&s)将s添加到文件中Public void display() 依次显示所有的教师信息Public Teacher*getTeacher(string id) 得到编号为id的教师的对象指针Public ~TeacherFile() 析构函数,释放资源,并把数组中的信息存进文件Public v oid wjf() 未交费的教工人员Private Vector<Teacher>*teaLisr 教工的向量数组,用于保存所有教工的信息(3)Main.cpp函数属性注释void init() 新建一个学生或者教工的信息void select() 查询界面,根据用户的输入来显示用户想查询的信息void add() 信息的录入,录入学生或者教工的水电煤气信息void handed() 缴费,有学生或者教工缴费的时候调用此函数int mainMenu() 主菜单,显示一个菜单,返回用户的输入void work() 程序开始工作int main() 主函数,程序的入口(4)Student.cppClass Student:virtual public User函数属性注释Public Student():User(“”,””,0,0,0) 构造函数Public Student(string i,string n,Float w=0,float p=0,floatg=0):User(i,n,w,p,g) 构造函数i:学号n:Public void display() 依次显示所有的学生的信息Public float display() 返回学生应缴的费用Private float freeWater; 学生免费使用的水量Private float freePower; 学生免费使用的电量Private float freeGas; 学生免费使用的煤气量Private float money; 缴费(5)Teacher.cppClass Teacher:virtual public User函数属性注释Public Teacher(string构造函数i,string n,float w=0,floatp=0,floatg=0):User(I,n,w,p,g)Public void display() 依次显示所有的教工信息Public float getMoney() 返回教工应缴的费用(6)User.cpp函数属性注释构造函数Public User(string i,stringn,floatw=0,float p=0,float g=0)Public string getId() 获取编号Public string getName() 获取Public void setId(string i) 设置编号Public void setName(string n) 设置Public void setWater(float w) 设置水量Public void setPower(float p) 设置电量Public void setGas(float g) 设置煤气量Public float getWater() 使用水量Public virtual void display()=0; 依次显示所有信息Public void setMoney(float m) 缴费Public virtual float getMoney()=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(string i) :string+setName(string n) :string+setWater(float w) :float+setPower(float p) :float+setGas(float g) :float+getWater():float三.程序代码:Constant.h//收费标准#ifndef Constant#define Constant//教师const static float TwaterUnit=1;const static float TpowerUnit=1;const static float TgasUnit=1;//学生const static float SwaterUnit=1;const static float SpowerUnit=1;const static float SgasUnit=1;//保存学生信息的文件const static char* stuFlieName="s.txt";//保存教师信息的文件const static char* teaFileName="t.txt";#endifMain.cpp#include<iostream>#include<iomanip>#include<string>#include<vector>#include"Student.cpp"#include"Teacher.cpp"#include"File.cpp"using namespace std;void init(){cout<<endl;cout<<"1.新建教工信息\n"<<"2.新建学生信息\n"<<endl;cout<<"请选择你要进行的操作:"<<endl;int o;cin>>o;if(o==1){string id;string name;cout<<"请输入新教工的号:";cin>>id;cout<<"请输入新教工的:";cin>>name;Teacher t(id,name);TeacherFile tf;tf.add(t);}else if(o==2){string id;string name;cout<<"请输入新学生的号:";cin>>id;cout<<"请输入新学生的:";cin>>name;Student s(id,name);StuFile sf;sf.add(s);}elsereturn ;}void select(){cout<<endl;cout<<"1.学生的信息\n"<<"2.教师的信息\n"<<"3.按号查询\n"<<"4.未缴费的人员\n"<<"5.不进行任何的操作\n"<<endl;cout<<"请输入你要进行的操作:";int o;cin>>o;StuFile sf;TeacherFile tf;if(o==1){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;sf.display();}else if(o==2){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;tf.display();}else if(o==3){User *user;StuFile sf;TeacherFile tf;string id;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();}else if(o==4){sf.wjf();tf.wjf();}elsereturn ;}void add(){cout<<"1.对教工使用的水电煤气信息的录入"<<endl <<"2.对学生使用的水电煤气信息的录入"<<endl<<"3.不进行任何操作"<<endl;cout<<"请输入你要进行的操作:"<<endl;int o;cin>>o;string id;float water;float power;float gas;if(o==1||o==2){User*user;StuFile sf;TeacherFile tf;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);}elsereturn ;}void handed(){cout<<"请输入要缴费的人的号:";string id;cin>>id;User*user;StuFile sf;TeacherFile tf;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<<"请输入他的缴费金额:";float money;cin>>money;user->setMoney(money);cout<<"缴费成功\n";}int mainMenu(){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;int a;char c[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);return a;}void work(){switch(mainMenu()){case 1:init();break;case 2:select();break;case 3:add();break;case 4:handed();break;default:break;}}void Menu(){cout<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆水电煤气管理系统☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆振坡☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<endl;system("pause");system("cls");}void main(){system("color 3A");Menu();char a='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"#ifndef StuFile_class#define StuFile_classclass StuFile{vector<Student> *stuList;public :string id;string name;float useWater;float usePower;float useGas;float money;StuFile(){stuList=new vector<Student>;ifstream *is=new ifstream("StuFileName",ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Student s("","");is->read((char*)&s,sizeof(Student));if(s.getId() !=""){stuList->push_back(s);}}}is->close();}void add(Student &s){stuList->push_back(s);}void display(){for(int i=0;i<stuList->size();i++){Student s=stuList->at(i);s.display();}}Student *getStudent(string id){for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId()==id)return &stuList->at(i);}return 0;}~StuFile(){if(stuList !=NULL && !stuList->empty()){ofstream os("stuFileName",ios_base::out);for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId() !="")os.write((char*)&stuList->at(i),sizeof(Student));}os.close();delete stuList;}}void wjf(){cout<<"未缴费的学生:"<<endl;for(int i=0;i<stuList->size();i++){Student s=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#ifndef TeaFile_class#define TeaFile_classclass TeacherFile{vector<Teacher> *teaList;public:TeacherFile(){teaList=new vector<Teacher>;ifstream*is=new ifstream(teaFileName,ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Teacher s("","");is->read((char*)&s,sizeof(Teacher));if(s.getId() !=""){teaList->push_back(s);}}}is->close();}Teacher *getTeacher(string id){for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId()==id)return &teaList->at(i);}return 0;}void wjf(){cout<<"教工未缴费的人员:"<<endl;for(int i=0;i<teaList->size();i++){Teacher t=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();}}}void display(){for(int i=0;i<teaList->size();i++){Teacher t=teaList->at(i);t.display();}}void add(Teacher &s){teaList->push_back(s);}~TeacherFile(){if(teaList !=NULL && !teaList->empty()){ofstream os(teaFileName,ios_base::out);for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId() !="")os.write((char*)&teaList->at(i),sizeof(Teacher));}os.close();delete teaList;}}};#endifStudent.cpp#ifndef STUDENT_CLASS#define STUDENT_CLASS#include<iostream>#include<iomanip>#include<string>#include"Constant.h"#include"User.cpp"using namespace std;class Student:virtual public User{private :float freeWater;float freePower;float freeGas;public :Student():User("","",0,0,0){freeWater=1;freePower=2;freeGas=3;}Student(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g){}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=SwaterUnit*((useWater>freeWater)?(useWater-freeWater):0);float p=SpowerUnit*((usePower>freePower)?(usePower-freePower):0);float g=SgasUnit*((useGas>freeGas)?(useGas-freeGas):0);return w+p+g-money;}};#endifTeacher.cpp#include"User.cpp"#include"Constant.h"#ifndef Teacher_class#define Teacher_classclass Teacher:virtual public User{public :Teacher(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g){}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=TwaterUnit* useWater;float p=TpowerUnit* usePower;float g=TgasUnit* useGas;return w+p+g-money;}};#endifUser.cpp#include<iostream>#include<iomanip>#include<string>using namespace std;#ifndef USER_CLASS#define USER_CLASSclass User{protected :string id;string name;float useWater;float usePower;float useGas;float money;public :User(string i,string n,float w=0,float p=0,float g=0) {id=i;name=n;useWater=w;usePower=p;useGas=g;money=0;}string getId(){return id;}string getName(){return name;}void setId(string i){id=i;}void setName(string n){name=n;}void setWater(float w){useWater=w;}void setPower(float p){usePower=p;}void setGas(float g){useGas=g;}float getWater(){return useWater;}virtual void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}virtual void setMoney(float m){money +=m;}virtual float getMoney()=0;};#endif四.测试结果:界面一:欢迎界面界面二:程序功能表界面三:新建用户信界面四:信息查询界面五:信息的录入界面六:缴费五.实验心得:课程设计的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋,只怪自己平时看书太少,其实有很多东西在书上都可以找到答案的,可是还是有一些问题我实在没有办法解决,最终通过老师和同学们的努力解决了一个又一个的问题。

水电气费用管理系统c语言课程设计技术报告

水电气费用管理系统c语言课程设计技术报告

课 程 设 计课程名称______________________ 题目名称______________________ 学生学院______________________ 专业班级______________________学 号______________________ 学生姓名______________________ 指导教师______________________2012 年 6月 6日C 语言程序设计课程设计水电气费用管理系统 自动化学院 电子信息科学与技术需求分析:设计题目:水电气费用管理系统设计内容:编程成立一个水电气费用管理系统,使其能对每一个月的水电气进行系统管理。

包括删除,增加用户,查询,缴费功能。

整个系统分为二个软件:主机和客户端。

主机负责计算,客户端面向用户。

系统功能:主机:接收每一个月的数据并处置。

把每一个月的数据写到文件等待客户端操作。

客户端:打开时初始化用户数据。

接收主机输送的数据,整合给用户。

提供删除用户功能。

增加用户。

查询最近三个月数据和缴费情形。

缴费。

退出时保留用户数据。

目录:客户端 (4)主函数 (4)总结 (8)流程图:源程序:客户端:主函数:#include ""#include ""#include ""#include "" ccount=0;strcpy(inittable[time].name,"0");inittable[time].pay=0;}write(head,inittable);/*--------------------------------分割线3------------------------------------------*/ name1(inittable);add(tableaccount);/*--------------------------------分割线3------------------------------------------*/ ame);fscanf(fp,"%2d",&inittable[i].account);fscanf(fp,"%13f",&inittable[i].pay);}fclose(fp);}void del(int tableaccount[MAX]){FILE *fp=NULL;fp=fopen("","r");ame);fprintf(fp,"%2d",table[i].account);fprintf(fp,"%",table[i].pay);fprintf(fp,"\n");}fclose(fp);}void add(int tableaccount[MAX]){int i;FILE *fp=NULL;fp=fopen("","w");//#include ""#include <>#include <>#include <>void main(){int n=0;int i;int ii;int j;int k;int rank;int sign;int del_flag;float num=-1;int num1=1;float sum;float cash[20]={0};char flag=65;sum=0;float x[20][4]={0};FILE *fp=NULL;FILE *fp1=NULL;FILE *fp2=NULL;system("color 04");printf("\n\t关闭主机为非法操作\n");while (1){fp1=fopen("","r+");if(fp1==NULL){printf("打开错误!");}rewind(fp1);fscanf(fp1,"%2d",&n);fclose(fp1);//srand((unsigned)time(NULL));x[0][0] = rand() % 100 +350;for (i=0;i<n;i++){Lab: x[i][0] = rand() % 100 +350;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][0] == x[j][0]) goto Lab;}}x[0][1] = rand() % 20 +30;for (i=0;i<n;i++){cab: x[i][1] = rand() % 20 +30;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][1] == x[j][1]) goto cab;}//printf("%", x[i][1]);}//printf("\n");x[0][2] = rand() % 20 +20;for (i=0;i<n;i++){Lcab: x[i][2] = rand() % 20 +20;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][2] == x[j][2]) goto Lcab;}//printf("%", x[i][2]);}//printf("\n");for (i=0;i<n;i++){sum=0;sum=sum+x[i][0]*+x[i][1]*+x[i][2]*;x[i][3]=sum;cash[i]=cash[i]+sum;}for(i=0;i<n;i++){printf("%",cash[i]);}printf("\n");for(i=0;i<20;i++)//time{Sleep (2000);fp1=fopen("","r+");if(fp1==NULL){printf("打开错误!");}rewind(fp1);fseek(fp1,-4L,SEEK_END);fscanf(fp1,"%2d",&rank);if(rank!=-1){for(j=rank;j<20;j++){cash[j-1]=cash[j];}fseek(fp1,-4L,SEEK_END);fprintf(fp1,"%2d",-1);}fp2=fopen("","w");if(fp2==NULL){printf("打开错误!");}for(ii=0;ii<n;ii++){fprintf(fp2,"%",cash[ii]);fprintf(fp2,"\n");}fclose(fp2);//fseek(fp1,-2L,SEEK_END);fscanf(fp1,"%2d",&sign);if(sign==-1){for(j=0;j<20;j++){cash[j]=0;}fseek(fp1,-2L,SEEK_END);fprintf(fp1,"%2d",1);}//fclose(fp1);}fp=fopen("","a");if(fp==NULL){printf("打开错误!");}fprintf(fp,"%",num);for (i=0;i<n;i++){for (j=0; j<4;j++){fprintf(fp,"%", x[i][j]);}fprintf(fp,"\n");}fprintf(fp,"%c",flag);flag++;if(flag==77){flag=65;}fclose(fp);}}总结:刚开始同意任务时,我还没学指针,结构体,文件操作。

高校水电费管理系统项目介绍

高校水电费管理系统项目介绍

高校水电费管理系统项目介绍1. 项目背景随着高校规模的不断扩大和学生数量的增加,高校的水电费管理面临着越来越大的挑战。

传统的手工录入、统计和管理方式已经无法满足高效、准确和便捷的需求。

为了提高水电费管理的效率和精度,开发一个高校水电费管理系统变得非常必要。

2. 项目目标本项目旨在开发一个全面、灵活且易于使用的高校水电费管理系统,以提高水电费数据录入、统计和查询的效率,减少人力资源投入并降低错误率。

具体目标包括:- 实现学生信息、宿舍信息和水电费信息的录入与管理; - 提供自动生成账单、查询账单和缴费功能; - 支持管理员对系统进行权限管理; - 提供数据统计与分析功能,帮助管理员了解学生宿舍用能情况。

3. 功能需求3.1 学生信息管理•学生信息录入:包括学号、姓名、性别、年级等基本信息。

•学生信息查询:支持按照学号或姓名进行精确查询。

3.2 宿舍信息管理•宿舍信息录入:包括宿舍号、楼栋号、楼层等基本信息。

•宿舍信息查询:支持按照宿舍号、楼栋号或楼层进行精确查询。

•宿舍信息修改:支持对宿舍信息的修改操作。

3.3 水电费信息管理•水电费信息录入:包括学生所在宿舍的水电度数等信息。

•水电费信息查询:支持按照学生学号或宿舍号进行精确查询。

3.4 账单管理•自动生成账单:根据水电费信息自动生成账单,包括应缴费用和截止日期等内容。

•查询账单:支持按照学生学号或姓名进行查询,展示该学生的所有账单情况。

•缴费功能:提供在线缴纳水电费用的功能,并更新账单状态。

3.5 管理员权限管理•管理员账号注册与登录:管理员通过注册账号并登录系统,获得相应的权限。

•权限管理:管理员可以对系统中的各个功能模块进行权限设置,包括数据录入、数据修改、数据查询等。

3.6 数据统计与分析•学生用能情况统计分析:根据水电费信息对学生宿舍用能情况进行统计和分析,生成报表和图表展示。

4. 技术实现本项目将采用以下技术实现: - 前端开发:使用HTML、CSS和JavaScript等技术实现用户界面的设计与交互。

C++语言程序设计课程设计-水电煤气管理系统

C++语言程序设计课程设计-水电煤气管理系统

C++语言程序设计课程设计-水电煤气管理系统JINGCHU UNIVERSITY OF TECHNOLOGY课程设计成果学院:_计算机工程学院_____班级: _计算机科学与技术(一)学生姓名: 学号:设计地点(单位)___ A5 -101___________ ____________设计题目:___ 电煤气管理系统___________________________完成日期: 2012 年 1月 5 日指导教师评语: ______________ _____________________________________________________________________________________________ ______________________________________________________________________ _________________________________________________________________________ _成绩(五级记分制):_____ _ __________教师签名:__________ _______________目录一(课程设计目的和要求…………………………………… 2 二(课题分析…………………………………… 2 三(设计…………………………………… 2-31. 设计思想2.设计分析四(主程序..........................................3-19 五(结果显示及分析.......................................19-21 六(感想、收获及体会..........................................21 七(参考文献..........................................22 附录 (22)1一(课程设计目的和要求问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。

高校学生水电收费管理系统的设计与开发

高校学生水电收费管理系统的设计与开发

高校学生水电收费管理系统的设计与开发摘要院本文按照软件工程规范,将复杂的水电费管理进行有效地归纳、分析和总结,对系统的需求分析进行了分析]研究,利用数据库模型设计工具Sybase Power-Designer 进行数据库模型的分析和设计,设计了该管理系统的系统框架,该系统包括系统管理、学生管理、公寓房间管理、水电费资费标准管理、水电费数据、系统扭曲验证码实现、水晶报表实现等9 个模块,并在此基础上,基于.NET体系和验证码技术开发平台完成了该系统的软件实现,并对该系统进行功能、网页界面、负载和文档的测试,测试结果表明,该系统达到了设计要求,可满足实际需求。

Abstract: In this paper, in accordance with the norms of software engineering, the complicated electricity and water management iseffectively researched. It analyzes the system requirements and the database model design tool Sybase Power-Designer is used for databasemodel analysis and design. The frame of the management system is designed. The system includes system management, student management,apartment room management, electricity and water fees standard management, water and electricity meter data, system distortion verificationcode implementation and crystal report realization. On this basis, the software realization of the system is done basedon systemauthentication code technology development platform. The function, web interface, load and documentation of this system are tested and thetest results show that, the system has reached the design requirement and met the actual demand.关键词院C#;.NET;水电收费管理Key words: C#;.NET;water and electricity charges management中图分类号院TP311.1 文献标识码院A 文章编号院1006-4311(2014)23-0225-0 引言高校学生水电收费管理系统是将复杂的水电收费管理进行归纳、分析和总结,再转化成计算机化管理。

C++课程设计报告高校水电费管理系统

C++课程设计报告高校水电费管理系统

青岛理工大学C ++面向对象课程设计报告院(系):计算机工程学院专业:软件工程学生姓名:* * *班级* * * * 学号:20 13 0 7 * * * 题目:高校水电费管理系统设计起迄日期:_ 2 0 1 5 . 6 . 2 9 ~ 2 0 1 5 . 7 . 10设计地点:计算机学院机房指导教师:完成日期 : 2 01 5 年 7 月 1 0 日《C++面向对象课程设计》任务书题目9“高校水电费管理系统设计”1、问题描述住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信息。

教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。

能计算出学生和教工每月所要交的电费和水费。

定义一个人员类,实现学生和教工共同的信息和行为。

2、功能要求( 1 )添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

( 2 )查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

( 3 )显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。

( 4 )编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

( 5 )删除功能:主要实现对已添加的学生或教工记录进行删除。

如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。

( 6 )统计功能:能根据多种参数进行统计。

能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。

( 7 )保存功能:可将当前系统中各类记录存入文件中,存入方式任意。

( 8 )读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。

( 9 )计算电费和水费。

学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。

3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:( 1 )应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;( 2 )分析系统中的各个实体及它们之间的关系;( 3 )根据问题描述,设计系统的类层次;( 4 )完成类层次中各个类的描述;( 5 )完成类中各个成员函数的定义;( 6 )完成系统的应用模块;( 7 )功能调试;( 8 )完成系统总结报告。

宿舍水电缴费c语言课程设计

宿舍水电缴费c语言课程设计

宿舍水电缴费c语言课程设计一、课程目标知识目标:1. 理解并掌握C语言基础语法,包括变量定义、数据类型、运算符等;2. 学会使用C语言进行结构化编程,包括顺序、选择、循环等控制结构;3. 掌握C语言数组、函数的使用,并能够运用到实际编程中;4. 了解文件操作基本原理,学会使用C语言进行文件读写。

技能目标:1. 能够运用C语言设计并实现一个宿舍水电缴费系统,具备基本的数据录入、查询、计算和存储功能;2. 培养学生分析问题、解决问题的能力,学会将实际问题转化为编程任务;3. 提高学生的编程实践能力,能够熟练使用C语言进行项目开发;4. 培养学生团队协作和沟通能力,学会在项目中进行分工与合作。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养主动学习和探究精神;2. 培养学生严谨、细致的工作态度,养成良好的编程习惯;3. 增强学生的社会责任感,认识到编程在解决实际问题中的价值;4. 培养学生面对困难勇于挑战、不断尝试的精神,增强自信心。

本课程针对高中年级学生,结合C语言课程特点,注重理论与实践相结合,培养学生的编程技能和解决问题的能力。

通过宿舍水电缴费系统这一实际项目,让学生在完成项目任务的过程中,掌握C语言基本知识和技能,同时培养团队协作、沟通等综合素质。

课程目标具体、可衡量,便于学生和教师在教学过程中进行评估和调整。

二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、输入输出函数;2. 控制结构:顺序结构、选择结构(if语句、switch语句)、循环结构(for循环、while循环、do-while循环);3. 函数:函数定义、函数调用、参数传递、递归函数;4. 数组:一维数组、二维数组、数组操作;5. 指针:指针概念、指针操作、指针与数组、指针与函数;6. 文件操作:文件打开与关闭、文件读写、文件定位;7. 结构体:结构体定义、结构体变量操作、结构体数组;8. 宿舍水电缴费系统设计:需求分析、功能设计、数据设计、模块划分;9. 编程实践:根据系统设计,利用C语言实现各功能模块,进行系统集成与测试。

高校水电费管理系统-数据结构课程设计

高校水电费管理系统-数据结构课程设计
图4-1双向链表图
4.1.1
图4-2双向链表插入结点图
新建一个结点存储数据x(为方便就称结点为x结点),x结点插入到a和c结点之间,将x结点的前驱指向p,将x的后驱指向p的后驱指向的结点,然后将p的后驱指向x,p的后驱的前驱指向x。
4.1.2
图4-3双向链表删除结点图
找到要删除的结点p,将p结点的前驱结点的后驱指向p结点后驱指向的结点,再将p结点后驱节点的前驱结点指向p结点的前驱结点,然后将p结点释放掉。
图3-1主界面图
3.3
文本编辑框为应用程序提供了接收用户输入和编辑文字的重要途径。相对静态框、按钮等控件来讲,文本编辑框的用途和行为方式比较单一。
图3-2文本编辑框图
3.
方便为用户提供了包含一些选项和信息的可滚动列表。在下拉列表中,只能看到一个项,用户可单向下按钮来显示可滚动的下拉列表框。
图3-3下拉列表框图
关键词:高校水电费管理;计算机;双向链表;数据结构
1
1.1
随着科学技术的发展,不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
而面对现今社会的发展,水电费管理系统是每一个高校管理机构对学校资源进行有效管理的不可或缺的一个管理信息系统,它的内容对于学校资源管理机构的管理者来说试试至关重要的,该系统应该能够为资源管理机构的管理者提供有效的帮助,使之能够对有效信息进行快捷的整理和查询满大大的方便了管理机构的管理者的合理有效管理。然而,用大型软件系统来用于普通高校管理,不啻于“杀鸡用牛刀”,因此小型的的软件对于普通高校自然有着十分重要的作用。某普通高校出与这种目的制作了这个高校水电费管理系统。
本系统选用的控件有菜单栏、文本框、列表视图、按钮、下拉列表等。

C++课程设计高校水电管理系统

C++课程设计高校水电管理系统

面向对象技术与C++课程设计报告题目:设计高校水电管理系统班级:120604学号:120604129姓名:尤雅欢2013年9月课程设计任务书一、设计目的与要求1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题.2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能.(3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作.3、创新要求:在基本要求达到后,可进行创新设计。

二、问题描述及功能要求设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。

在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源).完成如下功能:⑴实现对用户信息的录入。

⑵实现水电煤气数据的录入。

⑶计算并查询用户应缴费用。

⑷查询未缴纳费用的名单.三、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;1、在主函数中通过分支选择实现不同的功能。

2、在菜单函数中,通过设计界面与用户进行交互。

3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能.五、各功能模块和流程图#include <iostream>#include 〈string〉#include〈iomanip>#include〈fstream〉using namespace std;class User{private:int num;//编号string name;//姓名string sex;//性别string status;//身份double water;//用水量double power;//用电量double watermoney;//水费double powermoney;//电费static int top; //top表示当前系统中存储的记录个数;public:User();void Display();//显示用户信息void Modify();//修改用户信息void Delete();//删除用户信息void Search();//查询用户信息void Save();//将该记录保存到文件void Input();//输入函数int Add();//统计人数};User::User(){}void User::Input()//输入函数{cout〈<”请输入编号:"〈<endl;cin〉〉num;cout〈〈"请输入姓名:"〈<endl;cin>>name;cout<<”请输入性别:"〈〈endl;cin〉>sex;cout<<" 请输入身份:”<〈endl;cin>>status;cout〈〈”请输入用水量:”<<endl;cin>>water;cout〈<"请输入用电量:"<<endl;cin〉>power;cout<〈”请选择收费方式:";cout〈<”1。

C语言水电费管理系统设计

C语言水电费管理系统设计

软件技术设计报告书题目:水电费管理系统设计系部:信工系专业:计算机系统保护班级:12 级计维姓名:学号:2021年 7 月 20日目录一.任及内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1二.明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1三.的缺点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2四.心得与领悟⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3五.程序局部及程序原代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3六.行果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9水电费管理设计报告一.设计任务及内容【目的】:1. 掌握 C 语言程序的综合运用2.认识系统设计的根根源理3.掌握结构化程序的根本思想【设计要求】1.编写一个菜单实现驱动水电管理系统程序〔要求使用〕,实现相关功能。

2.本系统的整体思想基于结构化的程序设计,运用高级语言程序设计中的根本控制结构,重视实现管理系统的增加、删除、更正、查察等典型的管理系统3.水电费管理系统是为管理员进行用户成员用水电量及缴费信息管理进行计算、统计、记录的运用软件,其功能以下:(1)给管理员供应功能选择界面,该系统只针对管理员,因此无需登录,直接进入功能选择界面,功能选择界面包括输入功能选项,调用相应程序两大需求。

〔2〕管理用户信息:管理员可操作增加、查察、更正、删除用户信息,包括姓名、地址、用水量、用电量。

〔3〕查察用户缴费信息:能够查察每个用户应缴费的水费、电费,系统默认水费为 2 元/ 吨,电费为 0.8 元/ 度。

〔4〕统计总用费:能够统计总的电费、水费及总花销,便于收缴花销户进行检查、核实,省得出错。

二.设计说明〔一〕、水电费管理可分为 3 大模块1.用户管理2.功能选择3.用户缴费查察1〔二〕、流程图开始显示用户信息增加用户用户管理更正用户信息删除用户信息退出用户缴费信息盘问总水费收费管理总电费总花销退出退出三.设计的优缺点优缺点有:1.方便管理员管理用户的信息2.保密性强、检索迅速、查找方便等3.由于能够管理范围大,地址是应用输入,不能够进行选择,因此加大管理员的工作量4.只能输入一个月的信息,若是屡次输入同一个用户的信息,那么显2示最后输入信息,由于先前输入的信息已被覆盖。

c语言程序设计水利水电

c语言程序设计水利水电

C语言程序设计水利水电概述水利水电工程是指利用水资源进行电力生产以及水利枢纽工程和渠道建设等水利工程。

C语言是一种通用的高级编程语言,具有简洁、高效、可移植等特点。

本文档将介绍如何运用C语言进行水利水电工程的程序设计,以实现相关功能。

目录1.水利水电工程简介2.C语言程序设计基础知识1.数据类型2.控制流程3.函数4.数组和指针5.结构体3.水文数据处理程序设计1.数据输入与输出2.数据处理与计算3.数据存储与读取4.水电站模拟程序设计1.水库水位与流量计算2.水电站发电量预测3.系统运行状态检测与控制5.水利工程可视化设计1.图形界面设计2.数据可视化展示3.用户交互与操作6.水利水电工程实例分析1.坝体稳定性分析2.溢洪道流量计算3.水电站效益评估7.总结与展望1.水利水电工程简介水利水电工程是人类利用水资源进行发电和水资源利用的重要项目。

包括水库、大坝、水电站、引水渠等建设和管理。

C语言程序设计作为一种强大的编程语言,可以应用于水利水电工程的自动化控制和数据处理等方面。

2. C语言程序设计基础知识在进行水利水电工程的程序设计之前,我们需要掌握一些C语言的基础知识。

这些知识包括数据类型、控制流程、函数、数组和指针以及结构体等。

2.1数据类型C语言中有多种数据类型,包括整型、浮点型、字符型等。

我们需要了解这些数据类型的用途、取值范围以及相应的格式符号。

2.2控制流程控制流程是程序执行的路线控制,包括顺序结构、选择结构和循环结构。

我们需要掌握如何使用i f语句、swi t ch语句和f or循环、wh il e 循环等进行流程控制。

2.3函数函数是C语言程序的基本组成单元,可以方便地对代码进行模块化设计。

我们需要学会如何定义函数、调用函数以及传递参数和返回值。

2.4数组和指针数组和指针是C语言中常用的数据结构,可以用于存储和操作一组相关的数据。

我们需要了解如何定义和使用数组以及指针的作用和使用方法。

用C++实现水电煤气管理系统

用C++实现水电煤气管理系统

综合程序课程设计说明书课程设计名称:综合程序课程设计题目:用vc++实现煤电管理系统学院名称:电子信息学院专业:电子信息科学与技术班级:120431 学号: 12043113 姓名:陈常雨评分:教师:20 15 年 3 月 1 日由每位学生填写、由任教教师保存待查档。

综合程序课程设计目录一.1内容及要求二.二设计思路三文件类型四程序代码五测试结果六实验心得综合程序课程设计任务书20 14 -20 15学年第 2 学期第 1 周 2周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。

2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要1内容及要求求设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。

在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。

基本要求●实现对用户信息的录入●实现水电煤气数据的录入●计算并查询用户应缴费用●查询未缴纳费用名单测试数据:可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。

实现提示●用户基本信息类,教工用户信息类,学生用户信息类●收费标准类,该类存储水电煤气标准单位的收费标准,如:煤气,1.0元/立方米;●不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。

●在实现的时候考虑继承和多态技术的合理使用。

选做内容实现用户查询系统能够找出该用户半年之内的交费记录和本次应交费的数据三.设计思路:(一)程序功能:1.实现对用户信息的录入2.实现水电煤气数据的录入3.计算并查询用户应缴费用4.查询未缴纳费用名单(二)程序说明:1.在主函数中通过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。

计算机C语言水电费管理系统

计算机C语言水电费管理系统

C语言水电费管理系统#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100#define w 1.8 // 水1.8元/吨#define e 0.5 // 电0.5元/struct Residentinf{int number; // 住户门牌号char name[20]; // 户主姓名float * wanum,* elnum; // 用水(吨)、电(度)表示数float amonney,* emoney; // 总共的水电费用,每月的水电费用char * time; // 收费时间}Re[N];int num; // 数据个数Residentinf *p; // 指向结构体的指针void AdddataFunc();void StatisdataFunc();void QuerydataFunc();void SavedataFunc();void SortdataFunc();void ModifydataFunc();void ScandataFunc();void CaldataFunc();// 主函数void main(){int sele;sele=1;while(sele){system("cls"); // 清屏printf("*********** Main ***********");printf("* *");printf("* 1: 住户登记*");printf("* *");printf("* 2: 统计*");printf("* *");printf("* 3: 排序*");printf("* *");printf("* 4: 删除*");printf("* *");printf("* 5: 查询*");printf("* *");printf("* 6: 修改*");printf("* *");printf("* 7: 退出*");printf("****************************");printf("Choose Function (1 - 7) [ ]\b\b");scanf("%d",&sele);switch(sele){case 1:AdddataFunc();break;case 2:StatisdataFunc();break;case 3:SortdataFunc();break;case 4:DeletedataFunc();break;case 5:QuerydataFunc();break;case 6:ModifydataFunc();break;case 7:exit(0);}printf("\nPlease press any key to continue");getchar();getchar();}}void ScandataFunc(){int i,j;FILE *fp;fp=fopen("Data.txt","r");for(i=0;i<N;i++){fscanf(fp,"%d%s%d",&(p+i)->number,(p+i)->name,&(p+i)->amoney);for(j=0;j<100;j++)fscanf(fp,"%d%d%d%s",&(p+i)->wanum,&(p+i)->elnum,&(p+i)->emoney,(p+i)->time);}fclose(fp);}void CaldataFunc(){int i,j;fp=fopen("Data.txt","w");for(i=0;i<N;i++)for(j=1;j<100;j++){(p+i)->emoney[j]=((p+i)->wanum[j]-(p+i)->wanum[j-1])*w+((p+i)->elnum[j]-(p+i)->elnum[j-i]) *e;(p+i)->amoney=0;(p+i)->amoney+=(p+i)->emoney;}SavedataFunc()}void SavedataFunc(){FILE*fp;fp=fopen("Data.txt","w");int i,j;for(i=0;i<N;i++){fprintf(fp,"%d %s %d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)fprintf(fp,"%d %d %d %s",(p+i)->wanum,(p+i)->elnum,(p+i)->emoney,(p+i)->time);}fclose(fp);}void AdddataFunc(){int n,i;Re re;printf("请输入新用户信息");system("cls");for(i=0;i<N;i++){printf("\n\t\tnumber:");scanf("%d",&re.number);(p+i)->number=re.number;printf("\n\t\tname:");scanf("%s",);strcpy((p+i)->name,);for(j=0;j<100;j++){printf("\n\t\twanum:");scanf("%d",&re.wanum[j]);(p+i)->wanum=re.wanum;printf("\n\t\telnum:");scanf("%d",&re.elnum[j]);(p+i)->elnum=re.elnum;printf("\n\t\t\ttime:");scanf("%s",re.time[j]);strcpy((p+i)->time,re.time);}printf("\n登记完毕!\n");break;}SavedataFunc();}void SortdataFunc(){int i,j;Re t;for(i=0;i<N-1;i++)for(j=0;j<N;j++)if((p+i)->number<(p+j)->number){t=(p+i);(p+i)=(p+j);(p+j)=t;}SavedataFunc();}void QuerydataFunc(){int i,n,j;Re re;system("cls");puts("\t\t\t***************查询***************\n");puts("\t\t\t* *\n");puts("\t\t\t* 1.住户门牌号*\n");puts("\t\t\t* 2.户主姓名*\n");puts("\t\t\t* 3.日期*\n");puts("\t\t\t**********************************\n");printf("您想通过第[ ]种方式查询?\b\b");scanf("%d",&n);switch(n){case 1:{printf("住户门牌号:");scanf("%d",&re.number);for(i=0;i<N;i++)if((p+i)->number==re.number)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s\n\t总费用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case 2:{printf("姓名:");scanf("%s",);for(i=0;i<N;i++)if(strcmp((p+i)->name,)==0)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s\n\t总费用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case 4:{printf("日期:");scanf("%s",re.time);for(i=0;i<N;i++)for(j=0;j<100;j++)if(strcmp((p+i)->time[j],re.time[j])==0)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s",(p+i)->number,(p+i)->name);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}}}void DeleteFunc(){int i,j,m;printf("删除的住户门牌号为:[ ]\b\b");scanf("%d",&m);for(i=0;i<N;i++)if((p+i)->number==m){strcpy((p+i)->name,(p+j+1)->name);(p+i)->amoney=(p+i+1)->amoney;for(j=0;j<100;j++){(p+i)->wanum[j]=(p+i+1)->wanum[j+1];(p+i)->elnum[j]=(p+i+1)->elnum[j+1];strcpy((p+i)->time[j],(p+i+1)->time(j+1));}SavedataFunc();}。

水电费管理系统课程设计-27页word资料

水电费管理系统课程设计-27页word资料

通信与信息工程学院面向对象技术课程设计一、课程设计目的(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

二、程序设计要求1、基本功能:设计一个高校水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。

完成如下功能:⑴实现对用户信息的录入。

⑵实现水电数据的录入。

⑶计算并查询用户应缴费用。

(4)显示当前系统中所有学生和教工的记录(5)可根据查询结果对相应的记录进行修改(6)计算电费和水费。

2、程序主菜单:教师水电费管理,学生水电费管理,退出系统三个选项3、设计流程图:画出本程序的总体设计流程图(手画)4、功能框图:画出本程序的功能框图(手画)三、程序功能设计1、功能设计:添加功能查询功能显示功能编辑功能删除功能统计功能保存功能读取功能计算水费和电费2、组员分工:赵政类的定义马晶晶史娟丽杨洁功能的实现姜田茹界面设计设计思路:1、在主函数中通过分支选择实现不同的功能。

2、在菜单函数中,通过设计界面与用户进行交互。

3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能。

四、程序数据结构(手写)五、程序函数设计(手写)六、程序源代码(此部分可打印)七截图(手写)八心得(手写)附录:程序源代码#include<iostream>#include<string>const int TMAX=50;using namespace std;class Personpublic:int num;string name;string sex;int age;double water;double power;public:Person(int n=0,string nm="",string s="",int a=0,double w=0.0,double p=0.0)num=n;name=nm;sex=s;age=a;water=w;power=p;virtual void Input(){};virtual void Output(){};int GetNum(){return num;}string GetName(){return name;}double GetWater(){return water;}double GetPower(){return power;}class Teacher:virtual public Personpublic:string depart;double watermoney;double powermoney;int choice1;int choice2;public:Teacher(int n=0,string nm="",string s="男",int a=0,string d="任课教师",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0) :Person(n,nm,s,a,w,p),depart(d)watermoney=wm;powermoney=pm;void Input()cout<<"请输入编号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:";cout<<"(1.男 2.女)"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switch(choice2)case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误。

水电管理系统

水电管理系统

《数据库项目开发》课程设计项目名称: 教师水电管理系统目录摘要 (1)关键字 (1)1. 系统功能模块分析 (2)1.1 水电系统管理员模块 (2)1.2 教师模块 (2)2. 开发技术介绍 (2)2.1 系统设计指导思想及原则 (2)2.2 C#技术的前景及应用 (3)2.3 开发的环境以及使用的数据库 (3)3. 数据库设计 (3)3.1 系统概念模型设计 (3)3.1.1 概念模型说明 (3)3.1.2 E-R说明 (3)3.1.3 E-R设计 (4)3.2 系统E-R图向关系模型的转变 (4)3.3 数据对象的创建 (5)3.3.1 数据表的创建 (5)3.3.2 存储过程的创建 (6)3.3.3 触发器的创建 (7)3.3.4 约束的创建 (7)4. 模块的详细介绍 (8)4.1 教师模块与管理员模块流程图 (8)4.2 教师水电管理系统模块 (11)4.2.1 教师模块 (13)4.2.2 管理员首页 (16)4.2.3 教师管理功能模块 (16)4.2.4 水电管理功能模块 (20)4.2.5 楼栋、院系管理功能模块 (21)4.2.6 管理员管理功能模块 (22)4.2.7 管理员密码修改功能模块 (23)4.2.8 找回密码功能模块 (23)5. 设计小结 (24)6. 参考文献 (25)摘要本设计尝试用C#在网络上设计出一个教师水电管理系统,从而实现学校教师在网上进行相应的水电查询。

该系统主要可以分为二个模块:教师、管理员。

教师模块包括注册与登录,管理员模块包括登陆、对教师管理,缴费,对电价进行修改,添加楼栋、院系,添加管理员,修改密码等功能,同时对忘记密码的教师可以提供密码找回功能。

该水电管理系统是在Visual Studio 平台上运用C# 语言来实现的,使用了SQL server2005创建数据库。

同时运用了数据库中的触发器、存储过程、索引、视图等功能,对系统整体性能方面是一个很大的提高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象技术与C++课程设计报告题目:设计高校水电管理系统班级:120604学号:120604129姓名:尤雅欢2013年9月课程设计任务书一、设计目的与要求1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。

(3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作。

3、创新要求:在基本要求达到后,可进行创新设计。

二、问题描述及功能要求设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。

在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。

完成如下功能:⑴实现对用户信息的录入。

⑵实现水电煤气数据的录入。

⑶计算并查询用户应缴费用。

⑷查询未缴纳费用的名单。

三、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;1、在主函数中通过分支选择实现不同的功能。

2、在菜单函数中,通过设计界面与用户进行交互。

3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能。

五、各功能模块和流程图#include <iostream>#include <string>#include<iomanip>#include<fstream>using namespace std;class User{private:int num;//编号string name;//姓名string sex;//性别string status;//身份double water;//用水量double power;//用电量double watermoney;//水费double powermoney;//电费static int top; //top表示当前系统中存储的记录个数;public:User();void Display();//显示用户信息void Modify();//修改用户信息void Delete();//删除用户信息void Search();//查询用户信息void Save();//将该记录保存到文件void Input();//输入函数int Add();//统计人数};User::User(){}void User::Input()//输入函数{cout<<"请输入编号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请输入性别:"<<endl;cin>>sex;cout<<" 请输入身份:"<<endl;cin>>status;cout<<"请输入用水量:"<<endl;cin>>water;cout<<"请输入用电量:"<<endl;cin>>power;cout<<"请选择收费方式:";cout<<"1. 教师收费 2.学生收费"<<endl;cout<<"请输入你的选择"<<endl;int choice;cin>>choice;switch(choice){case 1:watermoney=0.5*water;powermoney=0.5*power;break;case 2:watermoney=0.6*(water-10);powermoney=0.6*(power-10);break;default :cout<<"输入错误。

"<<endl;break;}}void User::Display()//显示全部信息{ifstream inData("用户信息.txt");int num1;//编号string name1;//姓名string sex1;//性别string status1;//身份double water1;//用水量double power1;//用电量double watermoney1;//水费double powermoney1;//电费while(inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1){cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"<<setw(8)<<"用电量"<<setw(8)<<" 水费"<<setw(8)<<" 电费"<<endl;cout<<" "<<num1<<" "<<name1<<" "<<sex1<< ""<<status1<<" "<<water1<<" " <<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" "<<endl;}cout<<"全部信息已显示!"<<endl;}void User::Modify()//修改用户信息{ ifstream inData("用户信息.txt");ofstream out("ren.txt",ios::out);int num1;//编号string name1;//姓名string sex1;//性别string status1;//身份double water1;//用水量double power1;//用电量double watermoney1;//水费double powermoney1;//电费bool flag=true;cout<<"请输入要修改的用户姓名:";cin>>name;while(inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1){if (name1==name){cout <<endl <<"你要修改的用户是: " <<endl <<endl;cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"<<setw(8)<<"用电量"<<setw(8)<<"水费" <<setw(8)<<"电费"<<endl;cout<<" "<<num1<<" "<<name1<<" " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" " <<endl;Input();out<<" "<<num<< " "<<name<< " " <<sex<< " "<<status<<" "<<water<<" " <<power<<" \t"<<watermoney<<" \t"<<powermoney<<" "<<endl;flag=false;continue;}out<<" "<<num1<< " "<<name1<< " " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" " <<endl;}inData.close();out.close();if(flag)cout<<"库中无你要修改的用户!\n";ofstream outt("用户信息.txt");ifstream inn("ren.txt");while(inn >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>power money1){outt<<" "<<num1<< " "<<name1<< " " <<sex1<< " "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" " <<endl;}outt.close();inn.close();if(!flag)cout<<"已修改完成!"<<endl;}void User::Delete()//删除{ifstream inData("用户信息.txt");ofstream out("ren.txt");int num1;//编号string name1;//姓名string sex1;//性别string status1;//身份double water1;//用水量double power1;//用电量double watermoney1;//水费double powermoney1;//电费cout<<"请输入要删除的用户姓名:";cin>>name;while(inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1){if (name1==name){cout <<endl <<"你要删除的用户是: " <<endl <<endl;cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"<<setw(8)<<"用电量"<<setw(8)<<"水费" <<setw(8)<<"电费"<<endl;cout<<" "<<num1<<" "<< name1<<" " << sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" " <<watermoney1<<" "<<powermoney1<<" "<<endl;continue;}out<<" "<<num1<<" "<<name1<<" " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<"\t"<<powermoney1<<" "<<endl;}out.close();inData.close();ofstream outt("用户信息.txt");ifstream inn("ren.txt");while(inn >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>power money1){outt<<" "<<num1<<" "<<name1<<" " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" " <<endl;}outt.close();inn.close();}void User::Search()//查询用户信息{ifstream inData("用户信息.txt");if (!inData){cout <<endl <<"对不起!文件无法找到..." <<endl;system("pause");return;}cout<<"请选择查询方式:1、按姓名查询 2、按编号查询 "<<endl;int choice;cin>>choice;int num1,num2;;//编号string name1;//姓名string sex1;//性别string status1;//身份double water1;//用水量double power1;//用电量double watermoney1;//水费double powermoney1;//电费string name2;switch(choice){case 1:cout<<"请输入姓名:";cin>>name2;while(inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1){if (name1==name2){cout <<endl <<"你要查找的用户是: " <<endl <<endl;cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"<<setw(8)<<"用电量"<<setw(8)<<"水费"<<setw(8)<<"电费" <<endl;cout<<" "<<num1<<" " <<name1<<" " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" " <<endl;}}break;case 2:cout<<"请输入编号:";cin>>num2;while(inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1){if (num1==num2){cout <<endl <<"你要查找的用户是: " <<endl <<endl;cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"<<setw(8)<<"用电量"<<setw(8)<<"水费"<<setw(8)<<"电费"<<endl;cout<<" "<<num1<<" "<<name1<<" " <<sex1<<" "<<status1<<" "<<water1<<" "<<power1<<" \t"<<watermoney1<<" \t"<<powermoney1<<" "<<endl;}}break;}}void User::Save()//将该记录保存到文件{ofstream out("用户信息.txt",ios::app);if(!out){cout<<"打开失败!"<<endl;return;}out<<" "<<num<<" " <<name<<" "<<sex<<" "<<status<<" "<<water<<" "<<power<<" \t"<<watermoney<<" \t"<<powermoney<<" "<<endl;cout<<"写入成功!"<<endl;out.close();}int Menu(){cout<<"******************欢迎进入高校水电管理系统*****************\n"<<endl;cout<<" 1、用户信息的录入\n "<<endl;cout<<" 2、水电信息的查询\n "<<endl;cout<<" 3、用户信息的删除\n "<<endl;cout<<" 4、用户信息的修改\n"<<endl;cout<<" 5、显示所有用户信息\n"<<endl;cout<<" 6、退出系统\n"<<endl;cout<<"************************************************************\n "<<endl;cout<<"请输入选择:\n";int choice;cin>>choice;return choice;}int User::Add(){cout<<"这是第"<<top<<"个用户:"<<endl;top++;return top;}int User::top=1;//静态数据成员初始化void main(){int choice;User us;while (true){ choice=Menu();switch (choice){case 1: us.Add();us.Input();//输入函数us.Save();break;case 2:us.Search();//查询用户信息break;case 3:us.Delete();//删除用户信息break;case 4:us.Modify();//修改用户信息break;case 5:cout <<endl <<"全部用户: " <<endl <<endl;us.Display();//显示用户信息break;case 6:cout <<"谢谢你的使用!" <<endl;exit(0);break;default:cout<<"无此选项,请重新输入!"<<endl;break;}}}七、心得体会此次c++课程设计,在指导教师的精心教导下,我学会了如何用C++编写一个简单的应用程序。

相关文档
最新文档