I目录目录..............................................................I第1章课题介绍.....................................................11.1课程设计的目的..............................................11.2概要课程设计................................................1第2章总体设计.....................................................22.1数据的存储..................................................22.2程序功能模块说明............................................22.3程序流程图..................................................2第3章详细设计及程序实现...........................................43.2程序中各功能模块的实现......................................53.2.1显示主菜单.............................................53.2.3查询水电煤气信息.......................................63.2.4查询未缴费用用户.......................................73.2.5删除用户的信息.........................................8第4章问题与解决方法.........................................................................................................104.1问题..............................................................................................................................104.2解决方法.....................................................................................................................10第5章程序测试......................................................................................................................115.1运行结果......................................................................................................................11第6章总结...........................................................................................................................13参考文献......................................................................................................................................14答辩记录......................................................................................................................................151电煤气管理第1章课题介绍1.1课程设计的目的(1)进一步巩固、加深学生所学专业课程的基本理论知识(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象的程序设计方法。(6)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)、修改程序和程序的测试。1.2概要课程设计电煤气管理主要功能friendvoidshuru1();//友元函数1)构造函数student();2)析构函数~student();3)调用构造函数student::student(){};4)调用析构函数student::~student(){};2电煤气管理第2章总体设计2.1数据的存储为方便下一次打开,本程序将用户信息保存在文件中,下次打开该程序可从文件中直接读取。2.2程序功能模块说明1)friendvoidadd1();增加用户信息;2)friendvoidadd2();增加用户的水、电、煤气信息;3)friendvoida();查询水电煤气信息;4)friendvoidb();计算并查询用户应缴费用;5)friendvoidc();查询未缴费用用户名单;6)friendvoidd();用户信息的查找;7)friendvoiddelet();删除用户的信息2.3程序流程图整个程序的流程如图2-1所示。3电煤气管理开始显示主菜单选择菜单项用户信息的输入水电煤气信息的查询计算并查询用户应缴费用查询未缴费用用户名单用户信息的查找输入要删除用户的信息结束图2-1程序流程图4电煤气管理第3章详细设计及程序实现3.1本程序的主要结构classstudent//构造一个学生类{public:student();//构造函数~student();//析构函数friendvoidshuru1();//友元函数friendvoidadd1();friendvoidadd2();friendvoida();friendvoidb();friendvoidc();friendvoidd();frienddoubles1(inti);friendvoiddelet();friendvoidadd();private:intage;stringnum;stringname;stringstatus;stringsex;doubleyongdianliang;doubleyongshuiliang;doublemeiqiliang;};classteacher:publicstudent{public:friendvoidshuru2();friendvoidadd1();friendvoidadd2();friendvoida();friendvoidb();friendvoidc();friendvoidd();frienddoubleh1(inti);friendvoiddelet();5电煤气管理3.2程序中各功能模块的实现3.2.1显示主菜单由voidmenu()调用主菜单函数,直接输出主菜单选择页面。代码如下voidmenu(){cout★★★★★★水电煤气管理系统★★★★★\n;cout★★★★★1用户信息的输入★★★★★★★★\n;cout★★★★★2水电煤气信息的查询★★★★★★\n;cout★★★★★3计算并查询用户应缴费用★★★★\n;cout★★★★★4查询未缴费用用户名单★★★★★\n;cout★★★★★5用户信息的查找★★★★★★★★\n;cout★★★★★6输入要删除用户的信息★★★★★\n;cout★★★★★7EXIT★★★★★★★★★★★★★\n;cout★★★★★★★★★★★★★★★★★★★★★★\n;}voidmenuf(){cout★★★★★1增加学生的信息★★★★★\n;cout★★★★★2增加老师的信息★★★★★\n;cout★★★★★3返回MENU★★★★★★★★★★\n;}3.2.2增加用户的信息输入学生和老师的个人以及水电煤气信息的信息,由ofstreamoutfile(opq.txt,ios::app);和ofstreamoutfile(uvw.txt,ios::app);保存在opq和uvw文件夹中,代码如下voidadd1(){student*p1=newstudent[1];cout输入要增加用户的学号;cinp1[0].num;cout输入要增加用户的姓名;cinp1[0].name;cout输入要增加用户的性别;cinp1[0].sex;cout输入要增加用户的年龄;cinp1[0].age;cout请输入要增加用户的身份;cinp1[0].status;cout输入要增加用户的用电量;cinp1[0].yongdianliang;cout输入要增加用户的用水量;6电煤气管理cinp1[0].yongshuiliang;cout输入要增加用户的用煤气量;cinp1[0].meiqiliang;ofstreamoutfile(opq.txt,ios::app);outfilep1[0].nump1[0].namep1[0].agep1[0].sexp1[0].statusp1[0].yongdianliangp1[0].yongshuiliangp1[0].meiqiliangendl;outfile.close();delete[]p1;}voidadd2(){teacher*p2=newteacher[1];cout输入要增加用户的工号;cinp2[0].num;cout输入要增加用户的姓名;cinp2[0].name;cout输入要增加用户的性别;cinp2[0].sex;cout输入要增加用户的年龄;cinp2[0].age;cout输入要增加用户的身份;cinp2[0].status;cout输入要增加用户的用电量;cinp2[0].yongdianliang;cout输入要增加用户的用水量;cinp2[0].yongshuiliang;cout输入要增加用户的用煤气量;cinp2[0].meiqiliang;ofstreamoutfile(uvw.txt,ios::app);outfilep2[0].nump2[0].namep2[0].agep2[0].sexp2[0].statusp2[0].yongdianliangp2[0].yongshuiliangp2[0].meiqiliangendl;outfile.close();delete[]p2;}3.2.3查询水电煤气信息输入用户的编号,调出用户的信息,输出用户的水电煤气信息,代码如下voida(){inti,flag=0;ifstreamf(opq.txt);for(i=0;i15;i++)fstu[i].numstu[i].namestu[i].agestu[i].sexstu[i].statusstu[i].