C语言程序设计A实验报告_第1页
C语言程序设计A实验报告_第2页
C语言程序设计A实验报告_第3页
C语言程序设计A实验报告_第4页
C语言程序设计A实验报告_第5页
全文预览已结束

下载本文档

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

文档简介

桂林电子科技大学C语言程序设计A实验报告姓名:陆清霞学号:1300320106实验日期:2014-06-15同组合作者:无一.实验目的和要求利用所学过的C语言编程的基本知识如综合顺序,分支,循环结构和函数,以及数组,指针,结构体,共用体,文件的进行编程,较全面的掌握C语言的知识。初步掌握输入,输出,查找,排序的编辑方法。逐步掌握C语言编程的基本算法和技能。二.实验题目和内容编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。数据及要求如下:水费标准为1.5元/吨,电费标准为:0.5元/度,6户人家的信息如下:住户地址水耗(吨)电耗(度)1015 15020149030141204013785015606016105分别计算每户应交纳的电费、水费以及电费与水费的总和。分别计算全部住户水费、电费的总和。将计算结果按如上信息所示格式输出,如果实验环境不支持中文,第1行内容可使用英文或拼音码表示。三.实验设计思路及流程(1)程序设计思路:利用指针,数组,引用函数分别计算电费,水费及两者之和,增加要给用户提供帮助的选项;程序不会自动退出,用户需要退出,它才退出。程序流程图:(绘制程序关键部分的流程图)(2)关键部分的源代码#include"stdio.h"#defineNULL0FILE*fp1,*fp2;structyong_hu{floatprice[2];intaddr[5];intwater[6];intelect[6];}yonghu[6];structfei_yong{intaddr[5];intwater[6];floatwater_1[6];intelect[6];floatelect_1[6];floatsum[6];floattotal[5];}fei_yong[6];voidmain(){ voidinput(); voidoutput(); inti,j; floata,b,c[5]={0.0}; input(); fp1=fopen("input.dat","rb"); for(i=0;i<6;i++) { fread(&yonghu[i],sizeof(structyong_hu),1,fp1); *fei_yong[i].water_1=(*yonghu[0].price)*(*yonghu[i].water); a=*fei_yong[i].water_1; *fei_yong[i].elect_1=(*yonghu[1].price)*(*yonghu[i].elect); b=*fei_yong[i].elect_1; *fei_yong[i].sum=a+b; c[0]+=*yonghu[i].water; c[1]+=a; c[2]+=*yonghu[i].elect; c[3]+=b; c[4]+=*fei_yong[i].sum; for(j=0;j<5;j++) *fei_yong[j].total=c[j]; *fei_yong[i].addr=*yonghu[i].addr; *fei_yong[i].water=*yonghu[i].water; *fei_yong[i].elect=*yonghu[i].elect; } output(); printf("住户地址水耗(吨)水费(元)电耗(度)电费(元)合计(元)\n"); for(i=0;i<6;i++) printf("%3d%8d%8.1f%5d%7.1f%7.1f\n",*yonghu[i].addr,*fei_yong [i].water,*fei_yong[i].water_1,*fei_yong[i].elect,*fei_yong[i].elect_1,*fei_yong[i].sum);printf("Total");for(i=0;i<5;i++) printf("%9.1f",*fei_yong[i].total);printf("/nDevelopedby1100530220,thankyouforyouruse.\n");}voidinput(){ inti; printf("Pleaseenterthenumber:\n"); scanf("%f%f",&yonghu[0].price,&yonghu[1].price); for(i=0;i<6;i++) { scanf("%d%d%d",yonghu[i].addr,yonghu[i].water,yonghu[i].elect);} if((fp1=fopen("input.dat","wb"))==NULL) { printf("cannotopenfile\n");return;} for(i=0;i<6;i++) if(fwrite(&yonghu[i],sizeof(structyong_hu),1,fp1)); elseprintf("filewriteerror\n");fclose(fp1);}voidoutput(){inti;if((fp2=fopen("charge.dat","wb"))==NULL){ printf("cannotopenfile\n"); return;}for(i=0;i<6;i++) if(fwrite(&fei_yong[i],sizeof(structfei_yong),1,fp2)); else printf("filewriteerror\n");fclose(fp2);}程序运行结果和过程实验总结通过这次实验,我了解到并且又一次学习到了C语言的很多知识,增强了我对各种知识的综合应用,本次实验中,不同类型的数据进行计算时是允许的,但有转换的规则,本程序中使用了整型数据与

温馨提示

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

评论

0/150

提交评论