56 lines
1.8 KiB
C
56 lines
1.8 KiB
C
/**
|
|
* @file student_crud.h
|
|
* @brief 学生数据增删改操作头文件
|
|
* @note 声明学生数据的创建、删除、修改等CRUD功能
|
|
*/
|
|
|
|
#ifndef STUDENT_CRUD_H
|
|
#define STUDENT_CRUD_H
|
|
|
|
#include "config.h"
|
|
|
|
/**
|
|
* @brief 添加新学生
|
|
* @details 交互式地添加新学生信息,包括基本信息和课程成绩
|
|
* 验证学号唯一性、姓名格式、年龄范围等
|
|
* 自动计算总分和平均分
|
|
* @note 会检查学生数量是否已达上限MAX_STUDENTS
|
|
* @note 学号必须唯一,不能与现有学生重复
|
|
* @warning 如果学生数量已满,会显示错误信息并返回
|
|
* @see MAX_STUDENTS, isValidStudentId(), isValidName()
|
|
*/
|
|
void addStudent();
|
|
|
|
/**
|
|
* @brief 删除学生
|
|
* @details 提供交互式界面删除指定学号的学生信息
|
|
* 包含确认机制,防止误删除操作
|
|
* @note 删除流程:
|
|
* 1. 输入要删除的学生学号
|
|
* 2. 查找并显示学生信息
|
|
* 3. 用户确认删除操作
|
|
* 4. 删除学生并重新排列数组
|
|
* 5. 更新数据修改和统计更新标志
|
|
* @warning 删除操作不可逆,请谨慎操作
|
|
* @warning 如果没有学生数据,将显示警告信息
|
|
*/
|
|
void deleteStudent();
|
|
|
|
/**
|
|
* @brief 修改学生信息
|
|
* @details 提供交互式界面修改指定学生的各项信息
|
|
* 支持修改姓名、年龄、性别和课程成绩等信息
|
|
* @note 修改选项:
|
|
* 1. 修改姓名
|
|
* 2. 修改年龄
|
|
* 3. 修改性别
|
|
* 4. 修改课程成绩(包括修改现有成绩、添加新课程、删除课程)
|
|
* @note 课程成绩修改包含:
|
|
* - 修改现有课程成绩
|
|
* - 添加新课程
|
|
* - 删除课程
|
|
* @warning 修改课程信息后会自动重新计算总分和平均分
|
|
*/
|
|
void modifyStudent();
|
|
|
|
#endif // STUDENT_CRUD_H
|