C语言编程问题,请朋友帮忙!!

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:26:04
输入n个学生的4门成绩到指定文件中,实现追加、删除和显示功能。。

在TC上调试成功
实现了追加、显示、删除、查找功能;删除功能用c语言不好实现,我采用的是创建一个临时文件,把除符合条件以外的记录都拷贝过去,然后再拷贝回来,最后删除临时文件。
#include "stdio.h"
struct student
{
char name[20];
float score [4];
}stu;
char filename[20]="myfile";
append(char *filename)
{
char ch;
FILE *fp;
fp=fopen(filename,"a");
do{
printf("\nplease input the student's data you want to append:\n");
scanf("%s%f%f%f%f",stu.name,&stu.score[0],&stu.score[1],&stu.score[2],&stu.score[3]);
fseek(fp,0,2);
fwrite(&stu,sizeof(struct student),1,fp);
printf("\ndo you want to continue appending?(y/n)");
getchar();
ch=getchar();
}while(ch!='n');
fclose(fp);
}
list(char *filename)
{
FILE *fp;
fp=fopen(filename,"r");
printf("\nname s1 s2 s3 s4");
printf("\n*********