宿舍系统代码实现_第1页
宿舍系统代码实现_第2页
宿舍系统代码实现_第3页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1、修改 用户数据VC+6.0 实现的代码因为数据库暂时没学会,利用了文本文件进行保存#include "iostream"#include"string"#include"fstream"#include"iomanip" using namespace count1=0,count11=0 。 / 学生总数和交钱的人数 int count2=0,count22=0 。class Stu public:Stu(double xwater=0,double xpower=0,double xgas=0,

2、string xnum="a",stringxna="a"> 。 /学生类构造函数 void operator =(Stu S> 。 / 赋值运算符重载friend ostream &operator <<(ostream & a,Stu &S> / 插入运算符重载a<<setw(8><<left<<S.number 。a<<setw(8><<left<<S.name 。 /输出时左对齐 8 位 a<<se

3、tw(8><<left<<S.water 。a<<setw(8><<left<<S.power 。 a<<setw(8><<left<<S.gas 。 a<<setw(8><<left<<S.SGetW(> 。 a<<setw(8><<left<<S.SGetC(> 。 a<<setw(8><<left<<S.SGetG(> 。 a<

4、<setw(8><<left<<S.Stotal(> 。if(S.flag!=0>a<<" 已交 " 。else a<<"未交”。cout<<endl 。 return a。double SGetW(> 。/计算水费double SGetC(> 。/计算电费double SGetG(> 。/计算煤气费double Stotal(> 。 /计算总费用double water,power,gas,water_rate,circuit,gas_rate,total

5、 。 int flag 。string number,name。Stu:Stu(double xwater,double xpower,double xgas,string xnum,string xna> / 学生类构造函数 water=xwater 。 power=xpower 。 gas=xgas。 number=xnum 。 name=xna。 flag=0。void Stu:operator =(Stu S> / 赋值运算符重载name=S.name。 number=S.number。 water=S.water 。 power=S.power 。 gas=S.gas。d

6、ouble Stu:SGetW( >/ 计算水费if(water<10> water_rate=0 。elsewater_rate=4.2*(water-10> 。return water_rate 。double Stu:SGetC(> / 计算电费if(power<10>circuit=0 。elsecircuit=0.6*(power-10> 。return circuit 。double Stu:SGetG(>/ 计算煤气费if(gas<10> gas_rate=0。elsegas_rate=2.3*(gas-10>

7、; 。return gas_rate。double Stu:Stotal(> / 计算总的钱total=SGetG(>+SGetW(>+SGetC(> 。return total 。/*class arrayofStu / 学生类计算public:arrayofStu(int sz=1> size=sz 。 student=new Stusize 。 / 构造函数arrayofStu(> delete student 。 void xuesheng(> 。 / 学生用户主菜单 void jiaofei(> 。/ 学生交费菜单void regist

8、(> 。/ 登记学生void amend( > 。/ 修改用户菜单void add( > 。/ 增加用户void delet(>。 / 删除用户菜单void nad(> 。/ 姓名删除void numd(> 。/ 学号删除void check( > 。/ 查询菜单void nacheck(> 。/ 姓名查询void numcheck(>。/ 学号查询void naj(> 。/ 输入姓名交费void numj(> 。/ 输入学号交费void display(> 。/ 查看交费情况void save(> 。private

9、:int size。Stu *student 。void arrayofStu:regist(> / 学生用户注册 int i=0 。ifstream f("Stu.txt"> 。 while(f.good(>> / !f.eof(> f>>studenti.number 。 f>> 。 f>>studenti.water 。 f>>studenti.power 。 f>>studenti.gas 。i+ 。f.close(> 。 count1=i 。c

10、out<<"tt 注册成功 !"<<endl 。void arrayofStu:naj( > / 输入姓名交费 char ch 。 double money,money2 。 cout<<"ttt 欢迎使用姓名交费功能 "<<endl 。 string na。cout<<" 请输入学生姓名 :"<<endl 。 cin>>na 。int fl=0 。for(int i=0。i<countl。i+> if(na=studenti.nam

11、e>fl=1 。if(studenti.flag> cout<<" 该学生已缴纳过费用 "<<endl 。 elsecout<<" 你应该交 "<<studenti.Stotal(><<" 钱 "<<endl 。 cout<<" 确定是否真的现在交费(Y/N>"<<endl 。cin>>ch 。 if(ch='Y'|ch='y'>studenti.

12、flag=1 。cout<<" 你实际交的钱是 :"<<endl 。 cin>>money 。if(money>studenti.Stotal(>> cout<<" 找 零 "<<money- studenti.Stotal(><<" 钱 "<<endl 。if(studenti.Stotal(>>money> cout<<" 交 的 钱 不 够 , 还 应 交 "<<

13、;studenti.Stotal(>-money<<"钱"<<endl。cout<<" 补交:"。 cin>>money2 。cout<<" 交费成功 "<<endl 。 count11+ 。xuesheng(>。else xuesheng(>。if(!fl>cout<<" 没有这个学生 "<<endl 。void arrayofStu:numj( >/ 输入学号交费 cout<<

14、;"ttt 欢迎使用学号交费功能 "<<endl 。 string num 。 double money,money2 。 char ch。cout<<" 请输入学生学号 :"<<endl 。cin>>num 。int fl=0 。for(int i=0 。 i<count1 。 i+>if(num=studenti.number>if(studenti.flag>fl=1 。 cout<<" 该学生已缴纳过费用 "<<endl 。 els

15、ecout<<"你应该交"<<studenti.Stotal(><<"钱"<<endl。 cout<<" 确定是否真的现在交费 (Y/N>"<<endl 。 cin>>ch 。if(ch='Y'|ch='y'>studenti.flag=1 。 cout<<" 你实际交的钱是 :"<<endl 。cin>>money 。if(money>st

16、udenti.Stotal(>> cout<<" 找 零 "<<money- studenti.Stotal(><<" 钱 "<<endl 。if(studenti.Stotal(>>money> cout<<" 交 的 钱 不 够 , 还 应 交 "<<studenti.Stotal(>-money<<"钱"<<endl。cout<<" 补交:"

17、。 cin>>money2 。cout<<" 交费成功 "<<endl 。 count11+ 。xuesheng(>。else xuesheng(>。if(!fl>cout<<" 没有这个学生 "<<endl 。void arrayofStu:add(> / 增加学生cout<<"ttt 欢迎使用增加学生功能 "<<endl 。cout<<" 请输入学生的姓名 :"<<endl 。 c

18、in>> 。cout<<" 请输入学生的学号 :"<<endl 。 cin>>studentcount1.number 。cout<<" 请输入学生的用水量 :"<<endl 。 cin>>studentcount1.water 。cout<<" 请输入学生的用电量 :"<<endl 。cin>>studentcount1.power 。cout<<" 请输入

19、学生的用煤气量 :"<<endl 。cin>>studentcount1.gas 。count1+ 。 cout<<"ttt 学生信息已被成功的增加 !"<<endl 。void arrayofStu:nad( >/ 按姓名删除cout<<"ttt 欢迎使用姓名删除学生功能 "<<endl 。/*cout<<student0 。cout<<endl<< 。 */int fl=0 。int i,j 。stri

20、ng na。cout<<" 请输入要删除学生的姓名 "<<endl 。cin>>na 。for(i=0 。 i<count1 。 i+> if(na=>fl=1 。 break。 if(fl>for(j=i 。 j<count1-1 。 j+>studentj=studentj+1 。count1- 。cout<<" 你已成功删除学生信息 "<<endl 。else cout<<"没有这个学生"<

21、<endl。void arrayofStu:display(>int i 。 if(count11=0> cout<<" 暂时还无学生交费 "<<endl 。elsecout<<" 已交费人员信息 "<<endl 。cout<<" 学号 "<<" 姓名 "<<" 用水量 "<<" 用电量 "<<" 用煤气量 "<<&qu

22、ot; 水费 "<<" 电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。for( i=0 。 i<count1 。 i+> if(studenti.flag>cout<<studenti 。if(count11=count1> cout<<" 所有学生均以交费 "<<endl 。 else cout<<" 未交费人员

23、信息 "<<endl 。cout<<" 学号 "<<" 姓名 "<<" 用水量 "<<" 用电量 "<<" 用煤气量 "<<" 水费 "<<" 电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。for(i=0 。 i&

24、lt;count1 。 i+> if(!studenti.flag>cout<<studenti 。void arrayofStu:numd( > / 按学号删除cout<<"ttt 欢迎使用学号删除学生功能 "<<endl 。int fl=0 。int i,j 。string num 。cout<<" 请输入要删除学生的学号 "<<endl 。cin>>num 。for(i=0 。 i<count1 。 i+>if(num=studenti.numbe

25、r>fl=1 。 break。 if(fl>for(j=i 。 j<count1-1 。 j+>studentj=studentj+1 。count1- 。cout<<" 你已成功删除学生信息 "<<endl 。elsecout<<" 没有这个学生 "<<endl 。void arrayofStu:nacheck( >/ 姓名查询 cout<<"ttt 欢迎使用姓名查询学生功能 "<<endl 。int i,fl=0 。string

26、na。cout<<" 请输入要查找的姓名 "<<endl 。cin>>na 。for(i=0。i<countl。i+>if(na=> fl=1 。 break。 if(fl>cout<<"学号 "<<"姓名 "<<"用水量 "<<"用电量 "<<"用煤气量 "<<"水费 "<<"

27、电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。cout<<studenti<<endl 。 else cout<<"没有这个学生"<<endl。void arrayofStu:numcheck(> / 学号查询 cout<<"ttt 欢迎使用学号查询学生功能 "<<endl 。int i,fl=0 。string num 。cou

28、t<<" 请输入要查找的学号 "<<endl 。cin>>num 。for(i=0 。 i<count1 。 i+>if(num=studenti.number> fl=1 。 break。 if(fl>cout<<"学号 "<<"姓名 "<<"用水量 "<<"用电量 "<<"用煤气量"<<"水费 "<<"

29、;电费"<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。cout<<studenti<<endl 。elsecout<<" 没有这个学生 "<<endl 。void arrayofStu:save(>ofstream f("Stu2.txt"> 。f<<"学号"<<"姓名"<<&qu

30、ot;用水量"<<"用电量"<<"用煤气量"<<"水费"<<"电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。for(int i=0 。 i<count1 。 i+>f<<studenti<<endl 。f.close(> 。/cout<<" 恭喜你 ,文件已

31、成功保存 "<<endl 。void arrayofStu:delet(> / 删除学生菜单int choice 。cout<<"tttt*"<<endl 。 cout<<"tttt 删除信息 "<<endl 。 cout<<"tttt 1, 按学号删除 "<<endl 。 cout<<"tttt 2, 按姓名删除 "<<endl 。 cout<<"tttt 3, 返回主

32、菜单 "<<endl 。 cout<<"tttt 0, 返回上一层 "<<endl 。 cout<<"tttt*"<<endl 。 while(1> cout<<" 请输入你的选择 "<<endl 。cin>>choice 。 switch(choice> case 1: numd(> 。 break。 / 学号删除 case 2: nad(>。 break。 / 姓名删除 case 3: xuesheng

33、(>。 break 。 /返回学生管理主菜单case 0: amend(>。 break。 / 返回上一层 if(choice=0> break。void arrayofStu:jiaofei(> / 学生缴费菜单int choice 。cout<<"tttt*<<endlcout<<"tttt*- 学生缴费 -*"<<endl 。cout<<"tttt*1, 输入学号交费 *"<<endl 。 cout<<"tttt*2, 输

34、入姓名交费 *"<<endl 。cout<<"tttt*0, 返回上一层 *"<<endl 。cout<<"tttt*<<endlwhile(1>cout<<" 请输入你的选择 "<<endl 。 cin>>choice 。/ 输入学号计费/输入姓名计费/ 返回上一层switch(choice>case 1: numj(> 。 break。 case 2: naj(>。break。case 0:xuesheng(&g

35、t;。 break。if(choice=0> break。void arrayofStu:xuesheng(> / 学生用户主菜单 int choice 。cout<<"tttt 欢迎使用学生用户管理系统 "<<endl<<endl 。cout<<"*"<<endl cout<<"*"<<endl cout<<" 友情提示 :第一次使用时 ,要进行注册 ,否则 , 后果自负 !"<<endl<

36、;<endl 。 for( 。 >cout<<"tttt*1, 注册学生*"<<endl 。cout<<"tttt*2,cout<<"tttt*3,cout<<"tttt*4,修改用户缴纳费用查询费用*"<<endl*"<<endl*"<<endlcout<<"tttt*5,cout<<"tttt*6,查看交费情况 -*"<<endl 。 保存

37、信息到文件 -*"<<endlcout<<"tttt*0,返回上一层 *"<<endl 。cout<<" 请输入您的选择 "<<endl 。cin>>choice 。switch(choice>case 1: regist(>。 break。 / 注册case 2: amend(>。 break。 / 修改case 3: jiaofei(> 。 break。 / 缴纳费用case 4: check(>。 break 。case 5: displ

38、ay(> 。 break 。case 6: save(>。 break 。case 0: break。 if(choice=0> break 。 void arrayofStu:amend(> / 修改用户菜单 int choice 。cout<<"tttt 修改学生信息 "<<endl<<endl 。 cout<<"tttt1, 增加学生 "<<endl 。 cout<<"tttt2, 删除学生 "<<endl 。 cout&

39、lt;<"tttt0, 回上一层 "<<endl 。 while(1> cout<<" 请输入你的选择 "<<endl 。cin>>choice 。switch(choice>case 1: add(> 。 break。 case 2: delet(>。 break。 case 0: xuesheng(>。 break。 if(choice=0> break。void arrayofStu:check(> / 查询菜单int choice 。cout<&

40、lt;"tt 查询学生信息 "<<endl<<endl 。 cout<<"1, 按姓名查找"<<endl 。cout<<"2, 按学号查找"<<endl 。cout<<"0, 返回上一层"<<endl 。cout<<"="<<endl while(1>cout<<" 请输入您的选择 "<<endl 。cin>>cho

41、ice 。switch(choice>case 1: nacheck(>。 break 。 /输入姓名查找case 2: numcheck(>。 break。 / 输入学号查找case 0:xuesheng(>。 break。 /如果是 break 时分析if(choice=0>break 。/*/*class Teacherpublic:Teacher( double xwater=0,double xpower=0,double xgas=0,string xname="a">water=xwater。power=xpower。gas

42、==xname。flag=O。 void operator =(Teacher S> 。/赋值运算符重载friend ostream &operator <<(ostream & a,Teacher &S> / 插入运算符重载a<<setw(6><<left<<S.name 。a<<setw(6><<left<<S.water 。a<<setw(10><<S.power 。a<<setw(10>&l

43、t;<S.gas。a<<setw(10><<S.TGetW(> 。 a<<setw(10><<S.TGetC(> 。 a<<setw(10><<S.TGetG(> 。 a<<setw(10><<S.Ttotal(> 。/* a<<setiosflags(ios_base:left><<setw(4><<S.name<<" " 。 a<<setiosflag

44、s(ios_base:left><<setw(4><<S.water<<" " 。 a<<setiosflags(ios_base:left><<setw(4><<S.power<<" " 。 a<<setiosflags(ios_base:left><<setw(4><<S.gas<<" " 。 a<<setiosflags(ios_base:left&g

45、t;<<setw(4><<S.TGetW(><<" " 。 a<<setiosflags(ios_base:left><<setw(4><<S.TGetC(><<" " 。 a<<setiosflags(ios_base:left><<setw(4><<S.TGetG(><<" " 。 a<<setiosflags(ios_base:left&g

46、t;<<setw(4><<S.Ttotal(><<" " 。 */ if(S.flag>a<<" 已交 " 。else a<<"未交”。cout<<endl 。return a。double TGetW(> 。/ 水费计算double TGetC(> 。/电费计算double TGetG(> 。/煤气费计算double Ttotal(> 。/计算总的钱string name。double water,power,gas,water_

47、rate,circuit,gas_rate,total 。int flag 。void Teacher:operator =(Teacher S> / 赋值运算符重载 name=S.name。 water=S.water。 power=S.power 。gas=S.gas。double Teacher:TGetW(> / 计算水费water_rate=3.7*water 。return water_rate。double Teacher:TGetC(> / 计算电费circuit=0.45*power 。return circuit 。double Teacher:TGetG

48、(> / 计算煤气费gas_rate=1.9*gas。return gas_rate。double Teacher:Ttotal(> / 计算应该付的的钱 total=TGetW(>+TGetC(>+TGetG(> 。 return total 。/* class arrayofTeacher /老师类数组计算 arrayofTeacher( int sz=1>size=sz 。 teacher=new Teachersize。 arrayofTeacher(> delete teacher 。 regist(> 。 / 注册教工/ 教工主菜单/

49、 修改用户菜单public:void/增加用户/ 删除用户/ 查询是否交费/ 交水电煤气费/ 展示所有的用户/查看交费情况void jiaogong(> 。 void amend( > 。 void add(> 。void delet(> 。void check(> 。 void jiaofei(> 。/ void display(> 。 void display(> 。 void save(> 。private:int size 。Teacher *teacher。 。void arrayofTeacher:regist(> / 教

50、工用户注册 int i=0 。ifstream f("Teacher.txt"> 。 while(f.good(>> f>> 。 f>>teacheri.water 。 f>>teacheri.power 。 f>>teacheri.gas 。 i+ 。 f.close(> 。 count2=i-1 。cout<<"tt 注册成功,祝你使用愉快"<<endl 。void arrayofTeacher:jiaofei(> / 用户

51、交费char ch。string na。 cout<<"ttt 欢迎使用交费功能 "<<endl 。cout<<" 请输入姓名 :"<<endl 。cin>>na 。int fl=O。double money,money2。for(int i=0 。 i<count2 。 i+> if(na=> fl=1 。if(teacheri.flag>cout<<" 该教工已缴纳过费用 "<<endl 。 bre

52、ak。 elsecout<<"你应该交"<<teacheri.Ttotal(><<"钱"<<endl。 cout<<" 确定是否真的现在交费 (Y/N>"<<endl 。 cin>>ch 。 if(ch='Y'|ch='y'> teacheri.flag=1 。cout<<" 你实际交的钱是 :"<<endl 。cin>>money 。if(mon

53、ey>teacheri.Ttotal(>>cout<<" 找 零 "<<money-teacheri.Ttotal(><<"钱"<<endl。if(teacheri.Ttotal(>>money> cout<<" 交 的 钱 不 够 , 还 应 交 "<<teacheri.Ttotal(>-money<<"钱"<<endl。cout<<" 补交 :&q

54、uot; 。 cin>>money2 。 cout<<" 交费成功 "<<endl 。 count22+ 。jiaogong(> 。else jiaogong(> 。if(!fl>cout<<" 没有这个教工 "<<endl 。void arrayofTeacher:add(> / 增加教工cout<<"ttt 欢迎使用增加教工功能 "<<endl 。cout<<" 请输入教工的姓名 "<&

55、lt;endl 。cin>> 。cout<<" 请输入教工的用水量 "<<endl 。cin>>teachercount2.water 。cout<<" 请输入教工的用电量 "<<endl 。cin>>teachercount2.power 。 cout<<" 请输入教工的用煤气量 "<<endl 。 cin>>teachercount2.gas 。 count2+ 。 cout&

56、lt;<"ttt 教工已被成功增加 !"<<endl 。 void arrayofTeacher:delet( > / 删除教工 cout<<"ttt 欢迎使用删除教工功能 "<<endl 。 int fl=0 。 int i,j 。 string name。 cout<<" 请输入要删除教工的姓名 "<<endl 。 cin>>name 。for(i=0。i<count2。i+>if(name=> fl=1

57、 。 break。if(fl>for(j=i 。 j<count2-1 。 j+> / 不能写成 for(j=i 。 j<size。 j+> teacherj=teacherj+1 。count2-。cout<<" 你已成功删除教工信息 "<<endl 。 else co u t < <"没有这个教工 "<<endl 。void arrayofTeacher:check( > / 查找交费情况 cout<<"ttt 欢迎使用查费功能 "&l

58、t;<endl 。string i=0,fl=0 。cout<<" 请你输入姓名 "<<endl 。cin>>na。for(i=0 。 i<count2 。 i+>if(na=>fl=1 。 break。 if(fl>cout<<"姓名"<<"用水量"<<"用电量"<<"用煤气量"<<"水费"<<&q

59、uot;电费"<<"煤 气费 "<<" 总额 "<<" 是否交费 "<<endl 。cout<<teacheri<<endl 。elsecout<<" 没有这个教工 "<<endl 。void arrayofTeacher:display(> / 查看交费情况int i 。if(count22=0>cout<<" 暂时还无教工交钱 "<<endl 。 el

60、se cout<<" 已交费人员信息 "<<endl 。cout<<" 姓名 "<<" 用水量 "<<" 用电量 "<<" 用煤气量 "<<" 水费 "<<" 电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。for( i=0。

61、i<count2。i+>if(teacheri.flag>cout<<teacheri 。 /cout<<count22 。if(count22=count2> cout<<" 所有的教工均以交钱 "<<endl 。 else cout<<" 未交费人员信息 "<<endl 。cout<<"姓名"<<"用水量"<<"用电量 "<<"用煤气量&q

62、uot;<<"水费 "<<"电费 "<<" 煤气费 "<<" 总额 "<<" 是否交费 "<<endl 。for(i=0 。 i<count2 。 i+>if(!teacheri.flag>cout<<teacheri 。void arrayofTeacher:save(>ofstream f("Teacher2.txt"> 。f<<"学号

63、"<<"姓名 "<<"用水量 "<<"用电量 "<<"用煤气量 "<<"水费 "<<"电费 "<<"煤气费 "<<" 总额 "<<" 是否交费 "<<endl。for(int i=0 。 i<count2 。 i+> f<<teacheri<<endl 。f.close(> 。cout<

温馨提示

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

最新文档

评论

0/150

提交评论