将下列代码改成面向对象程序设计代码,形成一个用户界面类,并使用该类实现程序用户界面交互功能。 #include "Student.h" #include "Grade.h" #include "iostream" //在"Student.h"中使用了名字空间std class UserInterface { public: void showOperateInfo(); void addStudent(Grade& grade); void deleteStudent(Grade&
时间: 2024-03-17 22:46:23 浏览: 50
以下是将代码转换为面向对象程序设计的代码,并实现用户界面交互功能的示例代码:
```cpp
#include "Student.h"
#include "Grade.h"
#include <iostream>
class UserInterface {
private:
Grade grade; // 声明一个Grade对象
public:
void showOperateInfo() {
std::cout << "请选择操作:" << std::endl;
std::cout << "1. 添加学生" << std::endl;
std::cout << "2. 删除学生" << std::endl;
std::cout << "3. 显示学生信息" << std::endl;
std::cout << "4. 退出程序" << std::endl;
}
void addStudent() {
std::string name;
int age;
std::cout << "请输入学生姓名:";
std::cin >> name;
std::cout << "请输入学生年龄:";
std::cin >> age;
Student student(name, age);
grade.addStudent(student);
std::cout << "添加成功!" << std::endl;
}
void deleteStudent() {
std::string name;
std::cout << "请输入要删除的学生姓名:";
std::cin >> name;
if (grade.deleteStudent(name)) {
std::cout << "删除成功!" << std::endl;
} else {
std::cout << "删除失败,未找到该学生!" << std::endl;
}
}
void showStudentInfo() {
std::cout << "学生信息如下:" << std::endl;
grade.showStudentInfo();
}
void run() {
int choice = 0;
while (true) {
showOperateInfo();
std::cout << "请输入操作编号:";
std::cin >> choice;
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
showStudentInfo();
break;
case 4:
std::cout << "程序已退出!" << std::endl;
return;
default:
std::cout << "无效的操作!" << std::endl;
break;
}
}
}
};
int main() {
UserInterface ui;
ui.run();
return 0;
}
```
在上面的代码中,我们创建了一个名为`UserInterface`的类,该类中包含了程序的各种功能,如添加学生、删除学生、显示学生信息等。在`UserInterface`类中,我们声明了一个`Grade`类型的成员变量`grade`,用于存储学生信息。在`addStudent()`、`deleteStudent()`和`showStudentInfo()`方法中,我们通过`grade`成员变量来调用`Grade`类的相应方法,实现对学生信息的增删改查。
在`UserInterface`类中,我们还定义了一个`run()`方法,用于实现程序的主要逻辑。在`run()`方法中,我们通过一个无限循环来不断读取用户输入的操作编号,并根据操作编号调用相应的方法来实现对学生信息的管理。当用户输入操作编号为4时,程序退出。
最后,在`main()`函数中,我们创建了一个`UserInterface`对象`ui`,并调用了其`run()`方法,启动程序的用户界面交互功能。
阅读全文