一个使用 C++ 与 EasyX 编写的双发航空发动机状态模拟与监控程序,也是我的高级程序设计课程大作业。项目模拟发动机从启动、运行到停车的状态变化,并通过仪表界面展示转速、排气温度、燃油流量和剩余燃油等数据。
- 双发转速与排气温度的实时模拟
- 启动、运行、停车状态机
- 推力增减控制及状态约束
- EasyX 图形化仪表、数字显示与状态指示
- 15 类可手动触发的传感器、发动机和燃油异常
- 异常等级判断、告警显示与日志记录
- 运行数据持续写入 CSV,便于后续分析
- 控制台命令与图形按钮两种交互方式
.
├─ virtual_engine.sln
└─ virtual_engine/
├─ engine_simulator.* # 状态机、参数计算和数据记录
├─ engine_abnormal.* # 异常注入、检测和日志
├─ engine_ui.* # EasyX 仪表与交互界面
├─ graphics_draw.cpp # 通用绘图组件
├─ ThrustController.* # 推力控制
├─ main.cpp # 主循环与输入处理
└─ virtual_engine.vcxproj
- Windows 10/11
- Visual Studio 2022(MSVC v143)
- EasyX 图形库(支持 Visual Studio 2022 的版本)
- 安装 Visual Studio 2022 的“使用 C++ 的桌面开发”工作负载。
- 从 EasyX 官网 安装适用于 Visual Studio 2022 的版本。
- 打开
virtual_engine.sln。 - 选择
Debug | x64或Release | x64,然后按Ctrl + F5构建并运行。
如果链接阶段提示找不到 easyx.lib,请确认 EasyX 已安装到当前 Visual Studio 工具链,并重新启动 Visual Studio。
- 在图形界面中启动或停止发动机、调整推力并触发异常测试。
- 控制台支持
s/start、p/stop、t+、t-、a1—a15、ac、h和q等命令。 - 程序运行时会在工作目录生成发动机数据与异常日志;这些运行产物不会提交到仓库。
这是一个课程项目,主要用于练习面向对象设计、多线程、状态模拟、异常管理、文件记录与桌面图形界面开发。仓库仅保留可复现项目所需的源代码和工程文件,不包含课程报告、个人信息、编译产物和演示视频。