用学语言写一个学生成绩管理系统将信息存到txt文件中
时间: 2024-03-07 21:46:50 浏览: 95
好的,以下是一个使用C语言编写的学生成绩管理系统,可以将学生的姓名和成绩信息保存到txt文件中:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENT_NUM 20 // 最大学生数
#define FILENAME "students.txt" // 保存学生信息的文件名
// 学生结构体
typedef struct {
char name[20]; // 姓名
float score; // 成绩
} Student;
int main() {
Student students[MAX_STUDENT_NUM];
int num = 0; // 学生数
// 读取学生信息
printf("请输入学生信息(最多%d个),输入exit结束输入\n", MAX_STUDENT_NUM);
while (num < MAX_STUDENT_NUM) {
printf("请输入第%d个学生的姓名和成绩,用空格分隔:", num + 1);
// 从键盘读取学生姓名和成绩
if (scanf("%s%f", students[num].name, &students[num].score) != 2) {
break;
}
num++;
}
// 保存学生信息到文件
FILE *fp;
fp = fopen(FILENAME, "w");
if (fp == NULL) {
printf("无法打开文件 %s\n", FILENAME);
exit(1);
}
for (int i = 0; i < num; i++) {
fprintf(fp, "%s %.2f\n", students[i].name, students[i].score);
}
fclose(fp);
printf("学生信息已保存到文件 %s 中!\n", FILENAME);
return 0;
}
```
程序中,学生信息通过一个结构体来存储,每个结构体包含学生的姓名和成绩。程序从键盘读取学生信息,最多读取20个学生,读取完成后将学生信息保存到指定的文件中。在保存信息时,使用`fprintf()`函数将每个学生的姓名和成绩写入文件中。
需要注意的是,使用`fprintf()`函数将浮点数写入文件时,需要指定精度,否则会出现一些小数位的误差。在本程序中,使用了`%.2f`格式化字符串将浮点数输出为小数点后保留两位的形式。
阅读全文
相关推荐


















