栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

文件数据读写(成绩管理)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件数据读写(成绩管理)

1)有5个学生,每个学生有3门课成绩,输入学生数据(学号,姓名,3门课程成绩)。计算出平均成绩,并按平均成绩排序,排序后的数据(包括平均成绩)存入文件student.dat中。然后从文件中读取数据并输出。

要求:分别用fprintf/fscanf及fwrite/fread函数实现文件数据读写。

 fprintf/fscanf

#include
#define N 3
struct student
{
    char sNo[12];
    char sName[20];
    float scores[3];
    double average;
};

int main()
{
	int i,j,idx;
	struct student stu[N],stu2[N];
	struct student temp;
	printf("Please enter No,Name,3 scores:");
	//输入并计算平均值 
	for(i=0;istu[idx].average)idx=j;
		}
		temp=stu[idx];
		stu[idx]=stu[i];
		stu[i]=temp;
	} 
	//打开文件 
	FILE *fp; 
	if(NULL==(fp=fopen("student.txt","w+")))
	{
		printf("Error open!");
		exit(0);
	}
	//存入数据 
	for(i=0;i 

 fwrite/fread

#include
#define N 3
struct student
{
    char sNo[12];
    char sName[20];
    float scores[3];
    double average;
}stu[N];

int main()
{
	struct student stu[N],stu2[N];
	struct student temp;
	struct student *pa=stu,*pb=stu2,*max;
	printf("Please enter No,Name,3 scores:");
	//输入并计算平均值 
	for(;pasNo,pa->sName,&pa->scores[0],&pa->scores[1],&pa->scores[2]);
		pa->average=(pa->scores[0]+pa->scores[1]+pa->scores[2])/3.0;
	}
	//排序
	for(pa=stu;paaverage>max->average)max=pb;
		}
		temp=*max;
		*max=*pa;
		*pa=temp;
	} 
	//打开文件 
	FILE *fp; 
	if(NULL==(fp=fopen("student.txt","w+")))
	{
		printf("Error open!");
		exit(0);
	}
	//存入数据 
	pa=stu;
	fwrite(pa,sizeof(struct student),N,fp);
	//读取数据 
	rewind(fp);
	pb=stu2;
	fread(pb,sizeof(struct student),N,fp);
	//输出数据
	for(pb=stu2;pbsNo,pb->sName,pb->scores[0],pb->scores[1],pb->scores[2],pb->average);
	} 
	return 0;
}

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/655372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号