#include <iostream>
using namespace std;
// 定义机器人类
class Robot {
private:
int x; // x坐标
int y; // y坐标
public:
// 构造函数,设置初始坐标
Robot(int initialX, int initialY) {
x = initialX;
y = initialY;
}
// 上移动
void moveUp(int steps) {
y += steps;
}
// 下移动
void moveDown(int steps) {
y -= steps;
}
// 左移动
void moveLeft(int steps) {
x -= steps;
}
// 右移动
void moveRight(int steps) {
x += steps;
}
// 获取当前坐标
void getCurrentPosition() {
cout << "当前坐标为:(" << x << ", " << y << ")" << endl;
}
};
int main() {
// 创建机器人对象,初始坐标为(0, 0)
Robot robot(0, 0);
// 提示用户输入移动命令
cout << "请输入移动命令(f: 上移,b: 下移,l: 左移,r: 右移),以及移动步数,例如:f 3" << endl;
// 接受用户输入并执行移动命令
char direction;
int steps;
while (true) {
cin >> direction >> steps;
switch(direction) {
case 'f':
robot.moveUp(steps);
break;
case 'b':
robot.moveDown(steps);
break;
case 'l':
robot.moveLeft(steps);
break;
case 'r':
robot.moveRight(steps);
break;
default:
cout << "无效的移动命令,请重新输入!" << endl;
break;
}
// 检查是否到达文件结尾
if(cin.eof()) {
break;
}
}
// 获取最终坐标
robot.getCurrentPosition();
return 0;
}
现在,用户可以输入方向('f', 'b', 'l', 'r')和步数,程序会根据输入执行相应的移动操作。当用户输入结束时,程序会输出最终的坐标。