c语言,文件类问题,。

将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;
}