我的目标是从用户那里得到指示,最终得到一个文本文件来移动机器人。问题是我必须使用 Cstrings(例如 char word[];) 而不是 std::string 并将它们标记化以供使用。
代码如下所示:
void Navigator::manualDrive()
{
char uinput[1];
char delim[] = " ";
char *token;
cout << "Enter your directions below: \n";
cin.ignore();
cin.getline (uinput, 256);
token=strtok(uinput, delim);
if(token == "forward")
{
int inches;
inches=token+1;
travel(inches);
}
}
我从来没有使用过 Cstrings 我从来没有标记过任何东西,而且我不知道如何写这个。我们的助教希望我们通过谷歌搜索并找到所有答案,因为他们知道我们从未学过这些方法。我实验室里的每个人都比平时遇到了更多的麻烦。
我不知道要写的代码,但我知道我想让我的程序做什么。
我希望它像这样执行:
1)问路。
2) cin.getline 用户输入
3) 标记输入的字符串
4) 如果第一个单词 token == "forward" 移动到下一个标记并找出向前移动多少英寸然后向前移动
5) 否则如果第一个标记== "转" 移动到下一个标记。if the next token == "left" 移动到下一个标记并找出左转的度数
我必须为前进 x、后退 x、左转 x、右转 x 和停止(其中 x 以英寸或度为单位)执行此操作。我已经编写了一些函数来告诉机器人如何向前移动一英寸并以度数为单位。我只需要知道如何将输入的字符串转换为所有小写字母并从标记移动到标记并从字符串中转换或提取数字以将它们用作整数。
如果一切都不清楚,你可以阅读我的实验室在这个链接上写的:http
://www.cs.utk.edu/~cs102/robot_labs/Lab9.html
如果有什么不清楚的地方请告诉我,我会澄清尽我所能。