Skip to content

Repository files navigation

教务管理系统 — 使用手册

版本:2026-06-08
适用平台:Windows(控制台程序)


目录

  1. 快速开始
  2. 系统概述
  3. 预设账户
  4. 管理员操作
  5. 教师操作
  6. 学生操作
  7. 文件结构说明
  8. 常见问题

1. 快速开始

1.1 启动程序

双击 x64\Debug\Bigwork2.exe 或在 Visual Studio 中按 F5 运行。

首次运行会自动在程序所在目录创建 data\ 文件夹(若不存在)。

1.2 主界面

请输入你登录的身份:
1.管理员
2.教师
3.学生
4.退出

输入数字 1、2、3 选择对应身份,或输入 4 退出程序。

注意:输入非数字字符会被识别为无效输入,程序会提示重新输入,不会死循环。


2. 系统概述

┌─────────────────────────────────────┐
│           教务管理系统               │
│                                     │
│   ┌────────┐  ┌────────┐  ┌───────┐ │
│   │ 管理员  │  │  教师   │  │ 学生  │ │
│   └───┬────┘  └───┬────┘  └──┬────┘ │
│       │           │          │       │
│  ·添加教师    ·录入成绩    ·查看GPA  │
│  ·删除教师    ·查看成绩    ·查看成绩 │
│  ·添加学生    ·删除成绩    ·选课/退课│
│  ·删除学生                ·查看排名 │
│  ·查看师生                         │
└─────────────────────────────────────┘

三种角色各自独立,使用独立的账户密码登录,操作互不干扰。


3. 预设账户

系统自带以下账户(密码均可在对应文件中修改):

角色 用户名/编号 密码 说明
管理员 aaa 123456 存储在 data/user.txt
教师 1001(工号) 123456 姓名:wanglaoshi,存储在 data/teacher.txt
学生 12(学号) 123456 姓名:zhangsan
学生 4(学号) 123456 姓名:wangwu
学生 5(学号) 123456 姓名:zhaoliu

学生账户存储在 data/students.txt,每行一条,格式:姓名 学号 密码


4. 管理员操作

4.1 登录

你选择了管理员身份
请输入管理员用户名:
aaa
请输入管理员密码:
123456

登录成功后进入管理员菜单。

4.2 管理员菜单

请输入需要执行的操作:
1.添加教师
2.添加学生
3.显示教师
4.显示学生
5.删除教师
6.删除学生
7.退出

4.2.1 添加教师

输入教师的姓名、编号、密码。系统会自动检查编号是否重复,重复则拒绝添加。

请输入教师姓名:
liulaoshi
请输入教师编号:
1002
请输入教师密码:
666666
教师添加成功

4.2.2 添加学生

输入学生的姓名、学号、密码。系统自动检查学号是否重复。

请输入学生姓名:
lisi
请输入学生学号:
6
请输入学生密码:
123456
学生添加成功

4.2.3 显示教师

列出所有已注册的教师信息:

教师姓名:wanglaoshi 教师编号:1001 教师密码:123456
教师姓名:liulaoshi 教师编号:1002 教师密码:666666

4.2.4 显示学生

列出所有已注册的学生信息:

学生姓名:zhangsan 学生学号:12 学生密码:123456
学生姓名:wangwu 学生学号:4 学生密码:123456
学生姓名:zhaoliu 学生学号:5 学生密码:123456

4.2.5 删除教师

输入要删除的教师编号,确认即可删除。

请输入要删除的教师编号:
1002
教师删除成功

4.2.6 删除学生

输入要删除的学生学号,系统会同时清理该学生的成绩文件和课程文件。

请输入要删除的学生学号:
6
学生删除成功

5. 教师操作

5.1 登录

你选择了教师身份
请输入你的教职工号:
1001
请输入你的密码:
123456
登录成功

5.2 教师菜单

======老师菜单 ======
1. 添加学生成绩
2. 显示学生成绩
3. 删除学生成绩
4. 退出

5.2.1 添加学生成绩

输入学生学号、课程名称、学分和分数(百分制),系统自动计算绩点。

请输入学生ID:
12
请输入课程名称:
Math
请输入课程学分:
4
请输入学生成绩:
85

成绩文件自动生成在 data/12_Grade.txt,格式:Math 85 4 3

绩点换算规则:

百分制分数 绩点
90 – 100 4.0
80 – 89 3.0
70 – 79 2.0
60 – 69 1.0
0 – 59 0.0

5.2.2 查看学生成绩

输入学生学号,显示该学生所有课程成绩。

请输入学生ID:
12

课程名称:Math
成绩:85
学分:4

5.2.3 删除学生成绩

输入学生学号和要删除的课程名称。

请输入学生ID:
12
请输入要删除的课程名称:
Math
成绩删除成功

6. 学生操作

6.1 登录

你选择了学生身份
请输入你的学号:
12
请输入你的密码:
123456
登录成功

6.2 学生菜单

====== 学生菜单 ======
1. 查看GPA
2. 查看课程成绩
3. 查看课程管理
4. 添加课程
5. 删除课程
6. 查看排名
0. 退出

6.2.1 查看 GPA

显示加权平均绩点。

你的GPA为:3.0

计算公式:GPA = Σ(绩点 × 学分) ÷ Σ学分
例如:Math 85分(绩点3.0, 4学分) + English 92分(绩点4.0, 2学分)
GPA = (3.0×4 + 4.0×2) ÷ (4+2) = 20÷6 = 3.33

6.2.2 查看课程成绩

显示所有已有成绩的课程详情:

课程名称:Math
成绩:85
学分:4
绩点:3

6.2.3 查看课程管理

显示已选课程的时间地点安排:

课程名称:Math
上课时间:Mon-8:00
上课地点:A101

若无已选课程,显示"课程为空"。

6.2.4 添加课程(选课)

输入课程名称、上课时间和地点:

请输入课程名称:
Math
请输入上课时间:
Mon-8:00
请输入上课地点:
A101
课程添加成功

注意:当前版本不检查课程时间冲突和容量上限。

6.2.5 删除课程(退课)

输入要退选的课程名称:

请输入要退选的课程名称:
Math
课程退选成功

6.2.6 查看排名

显示你在全校学生中的 GPA 排名:

你的排名:第 2 / 5 名
你的GPA:3.33

排名按 GPA 降序排列,GPA 最高的排第 1。


7. 文件结构说明

项目/
├── Bigwork2.exe            ← 可执行程序
└── data/                   ← 数据目录(自动创建)
    ├── user.txt            ← 管理员账户(只有一行)
    ├── teacher.txt         ← 教师列表
    ├── students.txt        ← 学生列表
    ├── {学号}_Grade.txt    ← 学生成绩(教师录入后生成)
    └── {学号}_Courses.txt  ← 学生课程(学生选课后生成)

文件格式详解

文件名 格式 示例
user.txt 用户名 密码 aaa 123456
teacher.txt 姓名 工号 密码 wanglaoshi 1001 123456
students.txt 姓名 学号 密码 zhangsan 12 123456
{id}_Grade.txt 课程名 百分制分数 学分 绩点 Math 85 4 3
{id}_Courses.txt 课程名 时间 地点 Math Mon-8:00 A101

手动管理数据

你可以用记事本直接编辑这些 txt 文件:

  • 重置管理员密码:修改 user.txt 中的第二项
  • 批量导入学生:在 students.txt 中追加新行(格式:姓名 学号 密码)
  • 手动修改成绩:编辑对应 {学号}_Grade.txt 文件

⚠️ 手动编辑后请确保每行字段数量正确,且字段间用空格分隔。


8. 常见问题

Q1: 启动后中文显示乱码?

确保 Windows 终端的编码设置为 UTF-8。在终端标题栏右键 → 属性 → 选项 → 勾选"使用旧版控制台"的相反设置。

Q2: 教师录完成绩后学生看不到?

检查学号是否输入正确。成绩文件名格式为 data/{学号}_Grade.txt,学号不匹配会导致文件写入不同位置。

Q3: 学生查看排名时排名数据为空?

确认同一次登录中所有学生都有 GPA 数据。若 GPA 为 0 或未录入成绩,排名可能受影响。

Q4: 如何删除所有数据恢复到初始状态?

删除 data\ 文件夹,下次运行程序会自动重建目录。但预设账户也会丢失,需要手动创建 user.txt 等文件。

Q5: 程序能否在 Linux/macOS 上运行?

当前程序使用 _mkdir(Windows API)和 VS 项目文件,不能直接在其他系统编译。但路径分隔符已统一使用 /,移植成本较低。

Q6: 输入非法字符会怎样?

程序不会崩溃或死循环。会提示"无效输入,请重新输入",重新等待正确输入。

About

一个蒟蒻与ai合作写的一个教务管理系统c++大作业

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages