Files
TrainTicketManagementSystem/TODO_组员A.md
T
2026-06-26 19:58:32 +08:00

52 lines
2.0 KiB
Markdown

# TODO List — 组员A
**负责模块**: 车次信息管理(顺序表)
**核心数据结构**: 顺序表 `TrainList`
**文件**: `src/train.h``src/train.cpp`
**分支**: `feature/train`
---
## 一、顺序表基础操作
- [ ] `ListInsert` — 在位置 i 插入车次(检查越界/满/重复)
- [ ] `ListDelete` — 删除位置 i 的车次(元素前移)
- [ ] `ListUpdate` — 更新位置 i 的车次信息
## 二、查找算法(两种)
- [ ] `SeqSearch` — 顺序查找(按车次号逐个比较)
- [ ] `BinSearch` — 二分查找(需先按 trainNo 排序)
- [ ] `SearchByStation` — 按始发站/终点站模糊查找
- [ ] `AdvancedSearch` — 多条件组合查询(站名 + 票价区间)
## 三、排序算法(三种)
- [ ] `InsertSort` — 直接插入排序(按车次号升序)
- [ ] `QuickSort` — 快速排序(按票价排序)
- [ ] `HeapSort` — 堆排序(按余票数排序)
## 四、文件读写
- [ ] `loadTrainsFromFile` — 从 `data/trains.csv` 读取车次数据
- [ ] `saveTrainsToFile` — 将车次数据写回 `data/trains.csv`
## 五、管理员交互接口
- [ ] `adminAddTrain` — 交互式新增车次(录入各字段,校验合法性)
- [ ] `adminDeleteTrain` — 按车次号查找并删除
- [ ] `adminModifyTrain` — 查找后选择字段修改
- [ ] `adminListTrains` — 遍历输出所有车次(格式化表格)
- [ ] `adminSearchTrain` — 菜单选择查找方式(顺序/二分/模糊)
- [ ] `adminSortTrains` — 菜单选择排序方式(票价快排 / 余票堆排)
- [ ] `adminShowStatistics` — 调用 hash 模块统计函数展示
## 六、乘客交互接口
- [ ] `passengerSearchTrain` — 乘客查车次(按站名/时间/票价筛选)
---
> **依赖关系**: 先完成基础操作(增删改)和文件读写 → 再做查找 → 再做排序 → 最后做交互接口
> **验收标准**: 管理员能完成车次增删改查全流程,排序结果正确,数据重启后不丢失