- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
综合程序实验报告
实验目的和要求
利用所学过的C语言编程的基本知识如综合顺序、分支、循环结构和函数,以及数组、指针、结构体和共用体等进行编程,较全面地掌握C语言的知识。
初步掌握输入、输出、查找、排序的编程的方法。
逐步掌握C语言编程基本方法和技能。
实验内容
编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。
数据及要求如下:
1.水费标准为:1.5元/吨,电费标准为:0.5元,6户人家的信息如下表:
住户地址
水耗(吨)
电耗(度)
101
5
150
201
4
90
301
4
120
401
3
78
501
5
60
601
6
105
将表中信息按下面格式组织在文件input.date中:
1.50.5
1015150
102490
1034120
104378
105560
1066105
要求程序从文件input.dat中读取上述数据。
2.分别计算每户应交纳的电费、水费以及电费水费的总和。
3.汇总全部住户水费、电费的总和。
4.将计算结果按下面格式写入文件charge.dat中。表格线不必输出,如果实验环境不支持中文,第一行内容可使用英文或拼音码表示。
住户地址
水耗(吨)
水费(元)
电耗(度)
电费(元)
合计(元)
101
5
7.5
150
75
82.5
201
4
6
90
45
51
301
4
6
120
60
66
401
3
4.5
78
39
43.5
501
5
7.5
60
30
37.5
601
6
9
105
52.5
61.5
total
27
40.5
603
301.5
342
【算法描述流程图】程序(2)流程图:开始定义整型变量sh,sf,dh,df,hj并初始化为0sum1~sum5,让其等于0
开始
定义整型变量sh,sf,dh,df,hj并初始化为0
sum1~sum5,让其等于0
否
否
Cann’topenfile
是
将fp1,fp2读入文件中并将其打印
关闭文件fp1,fp2.
求水耗、电耗、合计并累加水耗、电耗、水费、电费
的值
判断i6
i=0
打开input.dat
以只写方式打开文件charge.dat
否
利用循环把统计好的数据输入到文件charge中
i=0
是
把住户地址,水耗,电费,水费,水耗,合计输入到文件中,并打印出来
i6
打印openfileerror
判断i++是否小于6
是
结束
把统计的电费,电耗,水耗,水费输入到文件中,并打印出来
否
是
否
判断i++是否小于6
程序(1)流程图:
开始
开始
是
定义包含住户地址、水耗、电耗3个成员的结构体
创建文件input.dat
否
Openfileerror
i=0
是
i6
结束
关闭文件
否
把住户地址、水耗、电费输入到文件中
把住户地址、水耗、电费信息,换行符输入到文件中,
#includestdio.h
#defineN7
structwe
{intdz; \\地址\\
floatsh; \\水耗\\
floatdh; \\电耗\\
floatsf; \\水费\\
floatdf; \\电费\\
floathj; \\合计\\
}s[N];
voidmain()
{
inti,j;
floata,b;
FILE*fp1,*fp2;
s[N].sh=0;
s[N].sf=0;
s[N].dh=0;
s[N].df=0;
s[N].hj=0;
if((fp1=fopen(e:\\input.dat,w))==NULL) \\打开input文件\\
{
printf(fp1wrong!);
exit(0);
}
if((fp2=fopen(e:\\charge.dat,w))==NULL) \\打开charge文件\\
{
printf(fp2wrong!);
exit(0);
}
scanf(%f%f,a,b);
fscanf(fp1,%f%f,a,b);
for(i=0;iN-1;i++)
{
scanf(%d%f%f,s[i].dz,s[i].sh,s[i].dh);
fscanf(fp1,%d%f%f,s[i].dz,s[i].sh,s[i].dh);
}
fclose(fp1);
printf(地址水耗(吨)水费(元)电耗(度)电费(元)合计\n);
fprintf(fp2,地址水耗(吨)水费(元)电耗(度)电费(元)合计\n);
for(i=0;iN-1;i++)
{
s[i].sf=s[i].sh*a;
s[i].df=s[i].dh*b;
s[i].hj=s[i].
文档评论(0)