将10名学生的信息(包括学号、姓谷名、成绩等)从键盘输入,并存入文件st udent.rec 中;再从文件中读出,显示在在屏幕上。
用C语言从键盘输入10个学生的信息并保存到一个文件中,可以采用如下方式:
创建一个结构来保存每个学生的信息。该结构应该包含学号、姓氏、姓名和年级的字段。
创建一个文件指针并使用 fopen 函数打开文件进行写入。
使用循环输入每个学生的信息,并使用 fprintf 函数将其写入文件。
使用 fclose 函数关闭文件。
以下是演示此方法的一些示例代码:
#include <stdio.h>
struct student {
int student_number;
char surname[20];
char name[20];
int grade;
};
int main(void) {
struct student s;
FILE *fp;
fp = fopen("student.rec", "w");
if (fp == NULL) {
printf("Error opening file!\n");
return 1;
}
for (int i = 0; i < 10; i++) {
printf("Enter student number: ");
scanf("%d", &s.student_number);
printf("Enter surname: ");
scanf("%s", s.surname);
printf("Enter name: ");
scanf("%s", s.name);
printf("Enter grade: ");
scanf("%d", &s.grade);
fprintf(fp, "%d %s %s %d\n", s.student_number, s.surname, s.name, s.grade);
}
fclose(fp);
return 0;
}
要从文件中读取信息并将其显示在屏幕上,可以使用类似的方法:
使用 fopen 函数打开文件进行读取。
使用 fscanf 函数循环从文件中读取每个学生的信息。
使用 printf 函数在屏幕上显示信息。
使用 fclose 函数关闭文件。
以下是演示此方法的一些示例代码:
#include <stdio.h>
struct student {
int student_number;
char surname[20];
char name[20];
int grade;
};
int main(void) {
struct student s;
FILE *fp;
fp = fopen("student.rec", "r");
if (fp == NULL) {
printf("Error opening file!\n");
return 1;
}
while (fscanf(fp, "%d %s %s %d", &s.student_number, s.surname, s.name, &s.grade) == 4) {
printf("Student number: %d\n", s.student_number);
printf("Surname: %s\n", s.surname);
printf("Name: %s\n", s.name);
printf("Grade: %d\n", s.grade);
}
fclose(fp);
return 0;
}