//*作者:冰糖
//*日期:2018年11月13日
//*章节:第十章
//*题号:8
//*题目:将第七题结果存入原有的 "stu_sort"文件而不新建文件。
#include<stdio.h>
#include<stdlib.h>
#define N 5
struct stu
{
int stunum;
char name[20];
float score[3];
float aver;
}s[N];
int main()
{
FILE *fp;
int i;
void save();
void print();
if((fp=fopen("stu_new.txt","rb"))==NULL)
{
printf("Cannot open!\n");
exit(0);
}
printf("插入前:\n");
for(i=0;i<N+1;i++)
{
fread(&s[i],sizeof(struct stu),1,fp);
printf("%d %s %.0f %.0f %.0f %.2f\n",s[i].stunum,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].aver);
}
fclose(fp);
if((fp=fopen("stu_sort.txt","ab"))=NULL)
{
printf("Cannot open!\n");
exit(0);
}
for(i=0;i<N+1;i++)
{
fwrite(&s[i],sizeof(struct stu),1,fp);
}
save();
fclose(fp);
printf("插入后的为:\n");
print();
return 0;
}
void save()
{
FILE *fp;
int i;
if((fp=fopen("stu_sort.txt","wb"))==NULL)
{
printf("Cannot open!\n");
return;
}
for(i=0;i<N+1;i++)
{
if(fwrite(&s[i],sizeof(struct stu),1,fp)!=1)
printf("File with error!\n");
}
fclose(fp);
}
void print()
{
FILE *fp;
int i;
if((fp=fopen("stu_sort.txt","rb"))==NULL)
{
printf("Cannot open!\n");
return;
}
for(i=0;i<N+1;i++)
{
fread(&s[i],sizeof(struct stu),1,fp);
printf("%d %s %.0f %.0f %.0f %.2f\n",s[i].stunum,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].aver);
}
}
C语言程序设计第四版(谭浩强)10.8 将第七题结果存入原有的 stusort文件而不新建文件。
最新推荐文章于 2022-04-24 09:22:57 发布