用C实现水电煤气管理系统方案Word格式文档下载.docx

上传人:b****4 文档编号:17860526 上传时间:2022-12-11 格式:DOCX 页数:33 大小:202.37KB
下载 相关 举报
用C实现水电煤气管理系统方案Word格式文档下载.docx_第1页
第1页 / 共33页
用C实现水电煤气管理系统方案Word格式文档下载.docx_第2页
第2页 / 共33页
用C实现水电煤气管理系统方案Word格式文档下载.docx_第3页
第3页 / 共33页
用C实现水电煤气管理系统方案Word格式文档下载.docx_第4页
第4页 / 共33页
用C实现水电煤气管理系统方案Word格式文档下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

用C实现水电煤气管理系统方案Word格式文档下载.docx

《用C实现水电煤气管理系统方案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《用C实现水电煤气管理系统方案Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。

用C实现水电煤气管理系统方案Word格式文档下载.docx

 格式、绘图、表格、插图等规准确,符合国家标准

有一定篇幅,字符数不少于5000

总分

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

该文件中有两个类:

1.StuFile类,主要用于对学生信息的操作

函数

属性

注释

Public

StuFile()

构造函数

voidadd(Student&

s)

将S添加到文件中

voiddisplay()

依次显示所有的学生的信息

Student

*gerStudent(stringid)

得到学号为id的学生的对象指针

~StuFile()

析构函数,释放资源,并把数组中的信息存进文件

voidwjf()

未缴费的学生的

Private

vector<

Student>

*stuList;

学生信息的向量数组,用于保存所有学生的信息

2TeacherFile类,主要用于对教工信息的操作

TeacherFile()

voidadd(Teacher&

将s添加到文件中

依次显示所有的教师信息

Teacher*getTeacher

(stringid)

得到编号为id的教师的对象指针

~TeacherFile()

未交费的教工人员

Vector<

Teacher>

*teaLisr

教工的向量数组,用于保存所有教工的信息

(3)Main.cpp

voidinit()

新建一个学生或者教工的信息

voidselect()

查询界面,根据用户的输入来显示用户想查询的信息

voidadd()

信息的录入,录入学生或者教工的水电煤气信息

voidhanded()

缴费,有学生或者教工缴费的时候调用此函数

intmainMenu()

主菜单,显示一个菜单,返回用户的输入

voidwork()

程序开始工作

intmain()

主函数,程序的入口

(4)Student.cpp

ClassStudent:

virtualpublicUser

Student():

User(“”,””,0,0,0)

Student(stringi,stringn,

Floatw=0,floatp=0,float

g=0):

User(i,n,w,p,g)

构造函数i:

学号n:

floatdisplay()

返回学生应缴的费用

floatfreeWater;

学生免费使用的水量

floatfreePower;

学生免费使用的电量

floatfreeGas;

学生免费使用的煤气量

floatmoney;

缴费

(5)Teacher.cpp

ClassTeacher:

Teacher(stringi,stringn,

floatw=0,floatp=0,float

User(I,n,w,p,g)

依次显示所有的教工信息

floatgetMoney()

返回教工应缴的费用

(6)User.cpp

User(stringi,stringn,float

w=0,floatp=0,floatg=0)

stringgetId()

获取编号

stringgetName()

获取

voidsetId(stringi)

设置编号

voidsetName(stringn)

设置

voidsetWater(floatw)

设置水量

voidsetPower(floatp)

设置电量

voidsetGas(floatg)

设置煤气量

floatgetWater()

使用水量

virtualvoiddisplay()=0;

依次显示所有信息

voidsetMoney(floatm)

virtualfloatgetMoney()=0;

应缴费用

(四)UML图:

StuFile

+id:

string

+name:

+useWater:

float

+usePower:

+useGas:

+money:

+add():

void

+display():

+wjf():

-freeWater:

-freePower:

-freeGas:

+getMoney():

User

+i:

+n:

+w:

+p:

+g:

+getId():

+getName():

+setId(stringi):

+setName(stringn):

+setWater(floatw):

+setPower(floatp):

+setGas(floatg):

+getWater():

三.程序代码:

Constant.h

//收费标准

#ifndefConstant

#defineConstant

//教师

conststaticfloatTwaterUnit=1;

conststaticfloatTpowerUnit=1;

conststaticfloatTgasUnit=1;

//学生

conststaticfloatSwaterUnit=1;

conststaticfloatSpowerUnit=1;

conststaticfloatSgasUnit=1;

//保存学生信息的文件

conststaticchar*stuFlieName="

s.txt"

;

//保存教师信息的文件

conststaticchar*teaFileName="

t.txt"

#endif

Main.cpp

#include<

iostream>

iomanip>

string>

vector>

#include"

Student.cpp"

Teacher.cpp"

File.cpp"

usingnamespacestd;

{

cout<

<

endl;

"

1.新建教工信息\n"

<

2.新建学生信息\n"

请选择你要进行的操作:

into;

cin>

>

o;

if(o==1)

{

stringid;

stringname;

cout<

请输入新教工的号:

cin>

id;

请输入新教工的:

name;

Teachert(id,name);

TeacherFiletf;

tf.add(t);

}

elseif(o==2)

请输入新学生的号:

请输入新学生的:

Students(id,name);

StuFilesf;

sf.add(s);

else

return;

}

1.学生的信息\n"

2.教师的信息\n"

3.按号查询\n"

4.未缴费的人员\n"

5.不进行任何的操作\n"

请输入你要进行的操作:

StuFilesf;

TeacherFiletf;

该用户的信息是:

|"

setw(18)<

号"

<

setw(8)<

<

用水量"

用电量"

用煤气量"

要缴的费用"

sf.display();

tf.display();

elseif(o==3)

User*user;

请输入他的号:

user=sf.getStudent(id);

if(user==0)

user=tf.getTeacher(id);

{

cout<

资料库中没有该号的用户!

return;

}

该用户的信息为:

user->

display();

elseif(o==4)

sf.wjf();

tf.wjf();

1.对教工使用的水电煤气信息的录入"

endl

2.对学生使用的水电煤气信息的录入"

3.不进行任何操作"

stringid;

floatwater;

floatpower;

floatgas;

if(o==1||o==2)

User*user;

请输入他的用水量:

water;

请输入他的用电量:

power;

请输入他的用煤气量:

gas;

setWater(water);

setPower(power);

setGas(gas);

请输入要缴费的人的号:

User*user;

user=sf.getStudent(id);

if(user==0)

user=tf.getTeacher(id);

请输入他的缴费金额:

floatmoney;

money;

setMoney(money);

缴费成功\n"

endl<

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"

☆☆"

☆水电煤气管理系统☆"

1.新建用户信息"

2.信息查询"

3.信息的录入"

4.有人缴费"

0.退出系统"

inta;

charc[20];

do

请选择相应的功能(0-4):

a;

gets(c);

if(a<

0||a>

4)

请确认您输入的数字在0~4之间!

请重新输入一遍!

while(a<

4);

returna;

switch(mainMenu())

case1:

init();

break;

case2:

select();

case3:

add();

case4:

handed();

default:

voidMenu()

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"

☆振坡☆"

system("

pause"

);

cls"

voidmain()

color3A"

Menu();

chara='

y'

while(a=='

work();

是否继续使用该系统(y/n)"

File.cpp

//StuFile类,对学生信息的操作

//TeacherFile类,对教工信息的操作

fstream>

User.cpp"

Constant.h"

#ifndefStuFile_class

#defineStuFile_class

classStuFile

vector<

*stuList;

public:

stringname;

floatuseWater;

floatusePower;

floatuseGas;

floatmoney;

StuFile()

stuList=newvector<

ifstream*is=newifstream("

StuFileName"

ios_base:

:

in);

if(is==0)

打开文件失败!

else

while(is->

good())

{

Students("

"

is->

read((char*)&

s,sizeof(Student));

if(s.getId()!

="

{

stuList->

push_back(s);

}

}

is->

close();

voidadd(Student&

stuList->

voiddisplay()

for(inti=0;

i<

stuList->

size();

i++)

Students=stuList->

at(i);

s.display();

Student*getStudent(s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1