以下是一个简单的用 C++ 和 `graphics.h` 实现的学习系统示例代码,该系统包含资源管理器、多链接、多课程等基本功能。 ```cpp #include <graphics.h> #include <iostream> #include <conio.h> #include <string> #include <vector> // 课程类 class Course { public: std::string name; std::string resourceLink; Course(std::string n, std::string link) : name(n), resourceLink(link) {} }; // 学习系统类 class LearningSystem { private: std::vector<Course> courses; public: // 添加课程 void addCourse(std::string name, std::string link) { courses.emplace_back(name, link); } // 显示课程列表 void displayCourses() { cleardevice(); outtextxy(100, 50, "课程列表:"); for (int i = 0; i < courses.size(); i++) { std::string courseName = std::to_string(i + 1) + ". " + courses[i].name; outtextxy(120, 80 + i * 30, courseName.c_str()); } } // 选择课程 void selectCourse() { int choice; std::cout << "请输入要选择的课程编号: "; std::cin >> choice; if (choice >= 1 && choice <= courses.size()) { cleardevice(); std::string info = "你选择的课程是: " + courses[choice - 1].name; outtextxy(100, 100, info.c_str()); std::string linkInfo = "资源链接: " + courses[choice - 1].resourceLink; outtextxy(100, 130, linkInfo.c_str()); } else { outtextxy(100, 100, "无效的选择,请重新选择。"); } } }; int main() { int gd = DETECT, gm; initgraph(&gd, &gm, ""); LearningSystem system; // 添加课程 system.addCourse("数学", "https://example.com/math"); system.addCourse("英语", "https://example.com/english"); system.addCourse("物理", "https://example.com/physics"); // 显示课程列表 system.displayCourses(); // 选择课程 system.selectCourse(); getch(); closegraph(); return 0; } ``` 代码说明: 1. Course 类:表示一门课程,包含课程名称和资源链接。 2. LearningSystem 类: - `addCourse` 方法:用于添加课程到系统中。 - `displayCourses` 方法:在图形界面上显示所有课程的列表。 - `selectCourse` 方法:让用户选择一门课程,并显示该课程的信息和资源链接。 3. main 函数: - 初始化图形界面。 - 创建学习系统对象,并添加一些课程。 - 显示课程列表。 - 让用户选择课程。 - 等待用户按键后关闭图形界面。 需要小心的地方: 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. `graphics.h` 是一个非标准的图形库,不同的编译器和操作系统对其支持可能不同,可能会出现兼容性问题。 2. 在输入选择课程编号时,没有对输入进行充分的错误处理,可能会导致程序崩溃,需要添加更完善的输入验证。 3. 代码中使用的图形界面比较简单,对于复杂的界面布局和交互,需要更深入地了解 `graphics.h` 的使用,否则可能会出现显示异常的情况。 [2025-08-22 11:46:13 | AI写代码神器 | 912点数解答]