用c语言写学生信息管理系统

该系统实现了对学生信息的存储和管理。学生信息包括学号、姓名、生日等信息。系统可以对学生信息进行查询、添加、删除和备份。
学生信息管理系统包含以下功能:
(1) 输入部分:通过键盘输入多位学生的学生信息。学生信息包含有:学生学号、姓名、性别、出生年月日、年龄、成绩;
(2) 输出部分:输出显示已存储学生信息;
(在运行后通过键盘输入多个学生信息 然后停止输入 自动保存到文档里 然后再输出显示到屏幕上 )可以帮忙完成输出和输入部分的功能吗


void increase()    //增加学生信息
{
    int m, flag, i = n, j;
    printf("请输入待添加的学生人数:\n");
    scanf("%d", &m);
    if (m > 0)
    {
        do
        {
            flag = 1;
            while (flag != 0)
            {
                flag = 0;
                printf("请输入第%d位学生的学号:\n", i + 1);
                getchar();
                gets(stu[i].num);
                for (j = 0; j < i; j++)
                {
                    if (strcmp(stu[i].num, stu[j].num) == 0)
                    {
                        printf("该学号已存在,请重新输入!\n");
                        flag = 1;
                        break;
                    }
                }
            }
            printf("请输入第%d位学生姓名:\n", i + 1);
            gets(stu[i].name);
            printf("请输入第%d位学生性别:\n", i + 1);
            gets(stu[i].sex);
            printf("请输入第%d位学生年龄:\n", i + 1);
            scanf("%d", &stu[i].age);
            printf("请输入第%d位学生C语言成绩:\n", i + 1);
            scanf("%f", &stu[i].score[0]);
            printf("请输入第%d位学生高等数学成绩:\n", i + 1);
            scanf("%f", &stu[i].score[1]);
            printf("请输入第%d位学生大学英语成绩:\n", i + 1);
            scanf("%f", &stu[i].score[2]);
            i++;
        } while (i < m + n);
        n += m;
        printf("添加完成!");
        system("pause");
    }
}

网上有些现成的,没搜一搜么

不知这个是否满足你的要求,提供实例参考【数据结构实验-学生信息表】,链接:https://blog.csdn.net/weixin_54678689/article/details/120711287

实现了对学生信息的存储、查询、添加、删除和备份的功能:

#include <stdio.h>
#include <string.h>

#define MAX_STUDENT_COUNT 100  // 最大学生数

// 学生信息结构体
struct Student {
  char id[20];      // 学号
  char name[20];    // 姓名
  char gender[20];  // 性别
  char birthday[20]; // 生日
  int age;          // 年龄
  int score;        // 成绩
};

// 学生信息数组
struct Student students[MAX_STUDENT_COUNT];
int student_count = 0;  // 当前学生数

// 加载学生信息
void load_students() {
  // 打开文件
  FILE* file = fopen("test.txt", "r");
  if (file == NULL) {
    printf("无法打开文件。\n");
    return;
  }

  // 读取学生信息
  student_count = 0;
  while (fscanf(file, "%s %s %s %s %d %d", students[student_count].id,
                students[student_count].name, students[student_count].gender,
                students[student_count].birthday, &students[student_count].age,
                &students[student_count].score) == 6) {
    student_count++;
  }

  // 关闭文件
  fclose(file);
}


// 保存学生信息
void save_students() {
  // 打开文件
  FILE* file = fopen("test.txt", "w");
  if (file == NULL) {
    printf("无法打开文件。\n");
    return;
  }

  // 保存学生信息
  for (int i = 0; i < student_count; i++) {
    fprintf(file, "%s %s %s %s %d %d\n", students[i].id, students[i].name,
            students[i].gender, students[i].birthday, students[i].age,
            students[i].score);
  }

  // 关闭文件
  fclose(file);
}

// 添加学生信息
void add_student() {
  if (student_count >= MAX_STUDENT_COUNT) {
    printf("无法添加新学生,学生数已达到上限。\n");
    return;
  }

  printf("输入学号:");
  scanf("%s", students[student_count].id);

  printf("输入姓名:");
  scanf("%s", students[student_count].name);

  printf("输入性别:");
  scanf("%s", students[student_count].gender);

  printf("输入生日(格式:YYYY-MM-DD):");
  scanf("%s", students[student_count].birthday);

  printf("输入年龄:");
  scanf("%d", &students[student_count].age);

  printf("输入成绩:");
  scanf("%d", &students[student_count].score);

  student_count++;
}

// 删除学生信息
void delete_student() {
  char id[20];
  printf("输入要删除的学生学号:");
  scanf("%s", id);

  // 查找学生信息
  int index = -1;
  for (int i = 0; i < student_count; i++) {
    if (strcmp(students[i].id, id) == 0) {
      index = i;
      break;
    }
  }

  if (index == -1) {
    printf("没有找到学号为 '%s' 的学生。\n", id);
    return;
  }

  // 删除学生信息
  student_count--;
  for (int i = index; i < student_count; i++) {
    students[i] = students[i + 1];
  }

  printf("成功删除学号为 '%s' 的学生。\n", id);
}

// 备份学生信息
void backup_students() {
  // 打开文件
  FILE* file = fopen("test_backup.txt", "w");
  if (file == NULL) {
    printf("无法打开文件。\n");
    return;
  }

  // 保存学生信息
  for (int i = 0; i < student_count; i++) {
    fprintf(file, "%s %s %s %s %d %d\n", students[i].id, students[i].name,
            students[i].gender, students[i].birthday, students[i].age,
            students[i].score);
  }

  // 关闭文件
  fclose(file);
}

int main() {
  // 加载学生信息
  load_students();

  // 输出学生信息
  printf("学号\t姓名\t性别\t生日\t年龄\t成绩\n");
  for (int i = 0; i < student_count; i++) {
printf("%s\t%s\t%s\t%s\t%d\t%d\n", students[i].id, students[i].name,
students[i].gender, students[i].birthday, students[i].age,
students[i].score);
}
// 循环处理命令
while (1) {
printf("\n请输入命令(a: 添加学生信息,d: 删除学生信息,b: 备份学生信息,q: 退出系统):");
char command;
scanf(" %c", &command); // 空格用于忽略回车
 switch (command) {
  case 'a':
    add_student();
    break;
  case 'd':
    delete_student();
    break;
  case 'b':
    backup_students();
    break;
  case 'q':
    // 保存学生信息
    save_students();
    return 0;
  default:
    printf("无效的命令。\n");
    break;
}
}

return 0;
}

上述代码是假设当前位置存在一个名为 test.txt 的文件的

可以,等下发你