Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103650464
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-20 15:06:39

目的与要求】

1.掌握文件和文件指针的概念以及文件的定义方法。

2.了解文件打开和关闭的概念和方法。

3.掌握有关文件的函数。

【上机内容】

【一般示例】

【例1】对data.dat文件写入100条记录。

#include

main()

{FILE *fp;

int i;

float x;

fp=fopen("date.dat","w");

for(i=1;i<=100;i++)

{scanf("%f",&x);

fprintf(fp,"%f\n",x);

}

fclose(fp);

}

【例2】设有一文件cj.dat存放了50个人的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间由逗号分隔。计算三门课平均成绩,统计个人平均成绩大于或等于90分的学生人数。

#include

main()

{FILE *fp;

int num;

float x , y , z , s1 , s2 , s3 ;

fp=fopen ("cj.dat","r");

{fscanf (fp,"%f,%f,%f",&x,&y,&z);

s1=s1+x;

s2=s2+y;

s3=s3+z;

if((x+y+z)/3>=90)

num=num+1;

}

printf("分数高于90的人数为:%.2d",num);

fclose(fp);

}

【例3】统计上题cj.dat文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件“stud”中。

#include "stdio.h"

main()

{

FILE *fp1,*fp2;

float x,y,z;

fp1=fopen("cj.dat","r");

fp2=fopen("stud","w");

while(!feof(fp1))

{

fscanf (fp1,"%f,%f,%f",&x,&y,&z);

printf("%f,%f,%f,%f\n",x,y,z,x+y+z);

fprintf(fp2,"%f,%f,%f,%f\n",x,y,z,x+y+z);

}

fclose(fp1);

fclose(fp2);

}

【作业】

1. 有 5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。

2. 将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件“stu_sort”中。

阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~