void saveScores() //成绩保存 { FILE* fp; fp = fopen("scores.txt", "w"); //打开文件 if (fp == NULL) { printf("open scores.txt failed!\n"); return; } fprintf(fp, "%d\n", courseCount); //输出文件信息 for (int i = 0; i < courseCount; i++) //输出课程名字 { fprintf(fp, "%s\n", courses[i].name); } fprintf(fp, "%d\n", studentCount); //输出学生信息 for (int i = 0; i < studentCount; i++) { fprintf(fp, "%s\n%s\n", students[i].id, students[i].name); //输出学生学号,姓名 for (int j = 0; j < courseCount; j++) //输出学生成绩 { fprintf(fp, "%d ", students[i].scores[j]); } fprintf(fp, "\n"); } fclose(fp); //关闭文件 }
时间: 2024-02-14 14:21:42 浏览: 50
这段代码是用来保存学生成绩的,它将成绩信息以及学生和课程的相关信息写入一个名为"scores.txt"的文件中。具体实现是通过打开一个文件流,依次输出文件信息、课程名字、学生信息和学生成绩。其中,课程名字和学生信息都是按照一定格式输出的,而学生成绩则是通过两重循环依次输出每个学生在每个课程上的成绩。最后,要记得关闭文件流。
相关问题
void saveScores() //成绩保存 { FILE* fp; fp = fopen("scores.txt", "w"); //打开文件 if (fp == NULL) { printf("open scores.txt failed!\n"); return; } fprintf(fp, "%d\n", courseCount); //输出文件信息 for (int i = 0; i < courseCount; i++) //输出课程名字 { fprintf(fp, "%s\n", courses[i].name); } fprintf(fp, "%d\n", studentCount); //输出学生信息 for (int i = 0; i < studentCount; i++) { fprintf(fp, "%s\n%s\n", students[i].id, students[i].name); //输出学生学号,姓名 for (int j = 0; j < courseCount; j++) //输出学生成绩 { fprintf(fp, "%d ", students[i].scores[j]); } fprintf(fp, "\n"); } fclose(fp); //关闭文件 }
这段代码是用来实现将学生成绩信息保存到文件中的函数。函数名为 saveScores(),它会打开一个名为 "scores.txt" 的文件,如果打开失败则会输出 "open scores.txt failed!" 并返回。接着,它会将课程数量、每门课程的名称、学生数量、每个学生的学号、姓名和各门课程的成绩依次输出到文件中。最后,它会关闭文件。
void importScores() //把信息录入文件 { int i; int j; FILE* fp; fp = fopen("scores.txt", "r"); //打开文件 if (fp == NULL) { printf("open scores.txt failed!\n"); return; } fscanf(fp, "%d", &courseCount); //写入课程数目 for (i = 0;i < courseCount;i++) //写入课程信息 { Course course; fscanf(fp, "%s", course.name); courses[i] = course; } fscanf(fp, "%d", &studentCount); for ( i = 0; i < studentCount; i++) { Student stu; fscanf(fp, "%s%s", stu.id, stu.name); //输入学生学号,姓名 for ( j = 0; j < courseCount; j++) //输入课程成绩 { fscanf(fp, "%d", &stu.scores[j]); } students[i] = stu; } fclose(fp); //关闭文件 }
这个函数的作用是从文件中读取学生的信息和成绩,并将其保存在程序中。函数首先打开名为“scores.txt”的文件,然后读取课程数量和每个课程的名称,并将其保存在程序中的“Course”结构体数组中。接下来,函数读取学生数量和每个学生的学号、姓名和每门课程的成绩,并将其保存在程序中的“Student”结构体数组中。最后,函数关闭文件并结束。这个函数是一个非常重要的函数,因为它可以让我们在程序中保存学生的信息和成绩,并在需要时随时进行查询和修改。
阅读全文