#include <stdio.h>
#include<stdlib.h>
/*学生结构体的定义*/
typedef struct stu
{
	int num;
	char name[20];
	int age;
}stu;
main()
{
	stu s[3];
	int i;
	FILE *fp;
	/*打开文件*/
	if((fp=fopen("c://text.txt","r"))==NULL)
	{
		printf("文件打开失败");
		exit(0);
	}
	/*读文件*/
	fread(s,sizeof(stu),3,fp);
   /*循环显示*/
	for(i=0;i<3;i++)
	{
		printf("\n第  %d 位同学的信息如下",i+1);
		printf("学号：%d，姓名：%s，年龄：%d\n",s[i].num,s[i].name,s[i].age);
	}
	fclose(fp);
}

















/*改进后的代码*/
#include <stdio.h>
#include<stdlib.h>
/*学生结构体的定义*/
typedef struct stu
{
	int num;
	char name[20];
	int age;
}stu;
/*学生数据录入函数*/
void stuWrite()
{
	stu s[3];
	int i;
	FILE *fp;
	
   /*学生信息采集*/
	for(i=0;i<3;i++)
	{
		printf("请输入第  %d 位同学的学号、姓名、年龄\n",i+1);
		scanf("%d%s%d",&s[i].num,&s[i].name,&s[i].age);
	}
    /*打开文件*/
	if((fp=fopen("c://text.txt","w"))==NULL)
	{
		printf("文件打开失败");
		exit(0);
	}
    /*向文件中写入信息*/
	fwrite (s,sizeof(stu),3,fp);
	
	fclose(fp);
}
/*学生数据读取函数*/
void stuRead()
{
	stu s[3];
	int i;
	FILE *fp;
	/*打开文件*/
	if((fp=fopen("c://text.txt","r"))==NULL)
	{
		printf("文件打开失败");
		exit(0);
	}
	/*读文件*/
	fread(s,sizeof(stu),3,fp);
   /*循环显示*/
	for(i=0;i<3;i++)
	{
		printf("\n第  %d 位同学的信息如下",i+1);
		printf("学号：%d，姓名：%s，年龄：%d\n",s[i].num,s[i].name,s[i].age);
	}
	fclose(fp);
}
/*主函数提供选择功能菜单*/
main()
{
	int xz;
	printf("请选择：\n学生数据录入(0)\n学生数据读取(1)\n");
	scanf("%d",&xz);
		if(xz==0)
	stuWrite();
    else if(xz==1)
stuRead();
    else
printf("选择错误！！");
}

