综合程序实验报告.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

Alfred + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档