# CourseSelection **Repository Path**: hngcadmin/course-selection ## Basic Information - **Project Name**: CourseSelection - **Description**: python学生选课系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-21 - **Last Updated**: 2026-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大学生选课系统 本项目基于 `Python + Flask + SQL Server + pyodbc` 开发,支持三类角色: - 教务处管理员:课程管理、教师与开课计划、学籍注册与异动、强制退课 - 学院管理员:新生录入、成绩录入、综合查询 - 学生:在线选课、退课、查看课表和历史成绩 系统支持首次启动时填写 SQL Server 连接信息,自动保存配置并执行数据库初始化脚本。之后所有页面操作都会直接落到当前机器本地 SQL Server。 ## 1. 环境要求 - Windows - Python 3.12+ - SQL Server 已安装并开启 SQL Server 身份验证 - SQL Server 账号密码可正常登录,通常使用 `sa` 账号即可 ## 2. 启动方式 1. 进入项目目录: ```powershell cd E:\CourseSelection ``` 2. 启动 Flask 程序: ```powershell python app.py ``` 3. 程序会自动打开浏览器访问: ```text http://127.0.0.1:5050 ``` 4. 首次运行时进入“数据库向导”页面,填写: - SQL Server 实例:例如 `127.0.0.1\SQLSERVER` - 登录账号:例如 `sa` - 登录密码:例如你的 SQL Server 密码 - 初始化数据库名:默认 `CourseSelectionDB` 5. 点击“保存并初始化数据库”,系统会: - 保存连接配置到本地 - 自动重建并初始化 `CourseSelectionDB` - 跳转到登录页面 ## 3. 默认测试账号 - 学生:`07101020135 / 123456` - 教务处:`jiaowu / 123456` - 学院管理员:`xueyuan / 123456` ## 4. 功能说明 ### 教务处 - 课程管理:录入课程基础信息和先修课程 - 教师与开课:维护教师信息、发布学期开课计划 - 学籍管理:处理注册、休学、复学、退学 - 强制退课:对当前学期选课记录执行强制删除 ### 学院管理员 - 新生录入:新增学生档案和初始密码 - 成绩录入:对学生选课记录录入或修改成绩 - 综合查询:查看学生选课记录和课程统计 ### 学生 - 选课大厅:在线选课、退课 - 自动规则校验: - 未注册或学籍异常不可选课 - 必须满足先修课要求 - 不允许与已选课程时间冲突 - 学分上限不能超过 18 - 容量满额时不可继续选课 - 我的课表:展示当前学期课表和历史成绩 ## 5. 自测 如果你的本机 SQL Server 连接方式与默认值一致: ```powershell python smoke_test.py ``` 默认使用以下连接信息: - 实例:`127.0.0.1\SQLSERVER` - 用户:`sa` - 密码:`123456` 如果需要自定义连接信息,可以先设置环境变量再执行: ```powershell $env:COURSE_SQL_SERVER="127.0.0.1\SQLSERVER" $env:COURSE_SQL_USER="sa" $env:COURSE_SQL_PASSWORD="123456" python smoke_test.py ``` ## 6. 打包 EXE 直接执行: ```powershell powershell -ExecutionPolicy Bypass -File .\build_exe.ps1 ``` 打包输出目录: ```text dist\CourseSelectionSystem\大学生选课系统.exe ``` 注意:当前项目采用更稳定的文件夹版打包。提交或发给同学时,请发送整个 `dist\CourseSelectionSystem` 文件夹,或直接发送已经压好的 `dist\CourseSelectionSystem.zip`。不要只单独拷贝 exe,否则缺少内部依赖文件会无法运行。 ## 7. 发给别人如何使用 把 `dist\CourseSelectionSystem.zip` 发给同学后,对方需要: 1. 自己电脑先安装 SQL Server,并开启 SQL Server 身份验证 2. 解压 zip,双击运行 `大学生选课系统.exe` 3. 在首次打开的数据库向导中填写自己本机 SQL Server 连接信息 4. 系统自动初始化数据库后即可登录操作 这样每个人的操作都会写入自己电脑本地的 SQL Server,不会共用你的数据库。