# 学生系统 **Repository Path**: fw_278121/student-system ## Basic Information - **Project Name**: 学生系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-11 - **Last Updated**: 2025-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生信息管理系统 一个功能完整的企业级学生信息管理系统,支持增删改查、数据统计分析、图表生成、数据导入导出等功能。 ## 🚀 功能特色 ### 🔐 用户权限管理 - ✅ 用户认证与登录 - ✅ 密码加密存储 (SHA256) - ✅ 角色-based访问控制(RBAC) - ✅ 三种用户角色: admin/teacher/student - ✅ 权限检查装饰器 - ✅ 用户管理功能 (仅管理员) - ✅ 会话管理 ### 基础功能 - ✅ 学生信息管理 (增删改查) - ✅ 数据验证和格式检查 - ✅ 美观的表格显示 - ✅ 多种查询方式 - ✅ 批量操作功能 - ✅ 数据备份恢复 ### 高级功能 - 📊 数据统计分析 - 📈 图表生成 (折线图、柱状图、饼图) - 📄 Excel/CSV导入导出 - 🔍 高级查询和筛选 - ⚡ 批量操作 ## 📦 安装依赖 ### 基础功能 系统的基础功能无需额外依赖,可以直接运行。 ### 完整功能 如需使用所有功能,请安装以下依赖: ```bash pip install -r requirements.txt ``` 或手动安装: ```bash # 数据可视化功能 pip install matplotlib # Excel和CSV处理功能 pip install pandas openpyxl ``` ## 🎯 使用方法 ### 运行系统 ```bash python3 student_management_system.py ``` ### 首次运行 系统首次运行时会自动创建默认管理员账户: - 用户名: admin - 密码: admin123 - 角色: admin ### 用户角色说明 - **admin**: 管理员,拥有所有权限,包括用户管理 - **teacher**: 教师,可以查询学生信息、统计分析、课程管理、成绩管理 - **student**: 学生,只能查看个人信息、查询成绩、计算GPA ### 系统状态检查 运行系统后,选择 "系统状态" 可以查看哪些功能可用。 ### 功能说明 #### 1. 学生信息管理 - 添加学生信息 - 删除学生信息 - 修改学生信息 - 查询学生信息 #### 2. 数据统计分析 - 按专业统计学生人数 - 按班级统计学生人数 - 年龄分布统计 - 平均年龄计算 - 综合统计报告 #### 3. 数据可视化 - 专业分布柱状图 - 班级分布柱状图 - 年龄分布折线图 - 年龄分布柱状图 - 综合统计图表 #### 4. 数据导入导出 - 导出到Excel文件 - 从Excel文件导入 - 导出到CSV文件 - 从CSV文件导入 - 数据备份和恢复 #### 5. 批量操作 - 批量添加学生 - 批量删除学生 - 批量修改学生信息 - 批量导入学生数据 ## 📁 文件结构 ``` cc/ ├── student_management_system.py # 主程序文件 ├── students.txt # 学生数据存储文件 ├── courses.txt # 课程数据存储文件 ├── grades.txt # 成绩数据存储文件 ├── users.txt # 用户数据存储文件 ├── init_data.py # 数据初始化脚本 ├── requirements.txt # 依赖库列表 ├── README.md # 说明文档 └── *.png # 生成的图表文件 ``` ## 🔧 数据格式 ### 学生信息格式 - 学号: 6-10位数字 - 姓名: 2-10个中文字符 - 年龄: 16-50岁 - 专业: 2-20个字符 - 班级: 3-15个字符 ### 文件格式 - **TXT格式**: 每行一个学生,用逗号分隔 - **Excel格式**: 包含学号、姓名、年龄、专业、班级列 - **CSV格式**: 包含学号、姓名、年龄、专业、班级列 ## ⚠️ 注意事项 1. 系统会自动检测依赖库的可用性 2. 如果某些库未安装,相关功能会被禁用 3. 所有数据都会自动保存到students.txt文件 4. 建议定期备份数据文件 ## 🎨 系统特色 - **智能验证**: 完整的数据格式验证 - **美观界面**: 表格化数据显示 - **错误处理**: 完善的错误提示和处理 - **模块化设计**: 功能模块独立,易于维护 - **扩展性强**: 易于添加新功能 ## 📊 系统复杂度 - **代码行数**: 2000+ 行 - **功能模块**: 25+ 个主要功能模块 - **用户角色**: 3种角色权限控制 - **图表类型**: 5种不同类型的图表 - **数据验证**: 5种数据格式验证 - **查询方式**: 8种不同的查询方式 - **数据文件**: 4个独立的数据存储文件 ## 👨‍💻 作者信息 - 作者:方旺 - 学号:20250101 - 班级:23A - 专业:土木工程 --- **这是一个真正企业级的学生信息管理系统!** 🎉