Implementación de C: use la estructura para ingresar las calificaciones de los estudiantes en el archivo (detallado)

Escribir delante (importar)

        Asegúrese de ejecutar el programa antes: "Crear un documento de texto en el escritorio", el nombre es estudiante  . Para evitar errores de ejecución del programa, por supuesto, también puede modificar la ruta relativa del archivo a abrir y modificar la ruta del archivo estudiante.txt en "fopen("estudiante.txt", "r")" en el siguiente programa  _

Código

        Idea: primero almacene los datos en la matriz y luego escríbalos en el archivo por separado. (El programa ha sido anotado en detalle y no se repetirá aquí)

//导入头文件
#include<stdio.h>
#include<stdlib.h>

//定义结构体 
typedef struct{
	char name[20];//姓名 
    int ID;//学号 
    int chinese;//语文成绩 
    int math;//数学成绩 
    int English;//英语成绩 
    float avargrade;//平均成绩 
    
}Student;

//主函数
int main(){
    FILE *fp;//定义文件指针 
    Student stu[5];//定义结构体数组stu,容量为 5 
    int i;//控制循环
    float avargrade=0;//记录平均成绩 
    printf("请输入5个同学的信息:姓名 学号 语文成绩 数学成绩 英语成绩:\n");//信息提示 
    for(i=0;i<5;i++){
        scanf("%s %d %d %d %d",stu[i].name,&(stu[i].ID),&(stu[i].chinese),&(stu[i].math),&(stu[i].English));
        stu[i].avargrade=(stu[i].chinese+stu[i].math+stu[i].English)/3;
    }
    //判断文件是否存在 
    if((fp=fopen("student","w"))==NULL){
        printf("文件打开失败!\n");
        exit(0);
    }
    //输出 
    for(i=0;i<5;i++){
    	fprintf(fp,"%s %d %d %d %d %d\n",stu[i].name,stu[i].ID,stu[i].chinese,stu[i].math,stu[i].English, 
                stu[i].avargrade);
	}
    fclose(fp);//关闭文件 
    return 0;
}

resultado de la operación

 (1) En el programa, el contenido del archivo es como se muestra en (2).

(2) Como se muestra en la siguiente figura, el contenido del archivo:

 

Supongo que te gusta

Origin blog.csdn.net/m0_54158068/article/details/124372971
Recomendado
Clasificación