电煤气系统.docx
《电煤气系统.docx》由会员分享,可在线阅读,更多相关《电煤气系统.docx(14页珍藏版)》请在冰豆网上搜索。
![电煤气系统.docx](https://file1.bdocx.com/fileroot1/2022-10/11/b047d3f2-dfbf-4d48-8fca-b59de1b69a15/b047d3f2-dfbf-4d48-8fca-b59de1b69a151.gif)
电煤气系统
第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.1数据的存储
为方便下一次打开,本程序将用户信息保存在文件中,下次打开该程序可从文件中直接读取。
2.2程序功能模块说明
1)friendvoidadd1();增加用户信息;
2)friendvoidadd2();增加用户的水、电、煤气信息;
3)friendvoida();查询水电煤气信息;
4)friendvoidb();计算并查询用户应缴费用;
5)friendvoidc();查询未缴费用用户名单;
6)friendvoidd();用户信息的查找;
7)friendvoiddelet();删除用户的信息
2.3程序流程图
整个程序的流程如图2-1所示。
图2-1程序流程图
第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();
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<<"输入要增加用户的学号"<<"";
cin>>p1[0].num;
cout<<"输入要增加用户的姓名"<<"";
cin>>p1[0].name;
cout<<"输入要增加用户的性别"<<"";
cin>>p1[0].sex;
cout<<"输入要增加用户的年龄"<<"";
cin>>p1[0].age;
cout<<"请输入要增加用户的身份"<<"";
cin>>p1[0].status;
cout<<"输入要增加用户的用电量"<<"";
cin>>p1[0].yongdianliang;
cout<<"输入要增加用户的用水量"<<"";
cin>>p1[0].yongshuiliang;
cout<<"输入要增加用户的用煤气量"<<"";
cin>>p1[0].meiqiliang;
ofstreamoutfile("opq.txt",ios:
:
app);
outfile<outfile.close();
delete[]p1;
}
voidadd2()
{teacher*p2=newteacher[1];
cout<<"输入要增加用户的工号"<<"";
cin>>p2[0].num;
cout<<"输入要增加用户的姓名"<<"";
cin>>p2[0].name;
cout<<"输入要增加用户的性别"<<"";
cin>>p2[0].sex;
cout<<"输入要增加用户的年龄"<<"";
cin>>p2[0].age;
cout<<"输入要增加用户的身份"<<"";
cin>>p2[0].status;
cout<<"输入要增加用户的用电量"<<"";
cin>>p2[0].yongdianliang;
cout<<"输入要增加用户的用水量"<<"";
cin>>p2[0].yongshuiliang;
cout<<"输入要增加用户的用煤气量"<<"";
cin>>p2[0].meiqiliang;
ofstreamoutfile("uvw.txt",ios:
:
app);
outfile<outfile.close();
delete[]p2;
}
3.2.3查询水电煤气信息
输入用户的编号,调出用户的信息,输出用户的水电煤气信息,代码如下
voida()
{inti,flag=0;
ifstreamf("opq.txt");
for(i=0;i<15;i++)
f>>stu[i].num>>stu[i].name>>stu[i].age>>stu[i].sex>>stu[i].status>>stu[i].yongshuiliang>>stu[i].yongdianliang>>stu[i].meiqiliang;
f.close();
ifstreamF("uvw.txt");
for(i=0;i<15;i++)
F>>tea[i].num>>tea[i].name>>tea[i].age>>tea[i].sex>>tea[i].status>>tea[i].yongshuiliang>>tea[i].yongdianliang>>tea[i].meiqiliang;
F.close();
cout<<"输入所查用户的编号"<stringnum;
cin>>num;
for(i=0;i<15;i++){
if(num==stu[i].num){
flag=1;break;}
if(num==tea[i].num){
flag=2;break;}}
if(flag==0)
cout<<"查无此人"<if(flag==1)
cout<<"学号:
"<"<"<"<"<"<"<if(flag==2)
cout<<"工号:
"<"<"<"<"<"<"<intm;
do{
menu();
cout<<"请选择";
cin>>m;
switch(m)
{case1:
add();break;
case2:
b();break;
case3:
c();break;
case4:
d();break;
case5:
a();break;
case6:
delet();break;
case7:
exit(0);break;
}
}
while(m<1||m>5);
}
3.2.4查询未缴费用用户
由voidd()调出查询菜单,由ifstreamf("opq.txt");和ifstreamf