c语言代码,利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。
时间: 2024-02-21 18:58:17 浏览: 64
关于学生成绩管理系统的C语言文件
以下是一个可以实现这个功能的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
int id;
char name[20];
float english;
float math;
float computer;
};
int main() {
int n;
printf("请输入学生数量:");
scanf("%d", &n);
struct student* students = malloc(n * sizeof(struct student));
if (students == NULL) {
printf("内存分配失败!\n");
return 1;
}
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &students[i].id);
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的英语成绩:", i + 1);
scanf("%f", &students[i].english);
printf("请输入第%d个学生的数学成绩:", i + 1);
scanf("%f", &students[i].math);
printf("请输入第%d个学生的计算机成绩:", i + 1);
scanf("%f", &students[i].computer);
}
FILE* fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("文件创建失败!\n");
return 1;
}
fprintf(fp, "学号\t姓名\t英语\t数学\t计算机\n");
for (int i = 0; i < n; i++) {
fprintf(fp, "%d\t%s\t%.2f\t%.2f\t%.2f\n",
students[i].id, students[i].name,
students[i].english, students[i].math, students[i].computer);
}
fclose(fp);
free(students);
printf("文件已成功创建!\n");
return 0;
}
```
这个程序会要求用户输入学生的数量,然后依次输入每个学生的学号、姓名、英语、数学和计算机成绩。程序会将这些数据存储在一个结构体数组中,然后将数据写入名为“students.txt”的文件中,每个学生的信息占一行。
阅读全文