如何定义此"if block"中其他无效输入的值,以便在c ++中将字符串转换为对象?
How to define the value of other invalid input in this "if block" for converting string to object in c++?
我正在尝试在下面的代码中将string
转换为object
。如何设置任何其他不相关的无效输入的值?
object stringToObject(string input){
if (input == "rock")
return object::rock;
else if (input == "paper")
return object::paper;
else if (input == "scisors")
return object::scissors;
}
更新:如果有帮助的话,整个代码是:
#include <iostream>
#include <string>
using std::string;
using std::cin;
using std::cout;
enum object { rock, paper, scissors };
object stringToObject(string input){
if (input == "rock")
return object::rock;
else if (input == "paper")
return object::paper;
else if (input == "scisor")
return object::scissors;
else if (input !== "mock")
return cout>>"Invalid input";
}
int main(int argc, char **argv){
string player1Input, player2Input;
cout << "Enter input";
cin >> player1Input >> player2Input;
object player1Choice = stringToObject(player1Input);
object player2Choice = stringToObject(player2Input);
switch (player1Choice) {
case object::rock:
cout << "blah";
break;
case object::paper:
cout << "blah blah";
break;
case object::scissors:
cout << "blah blah blah";
break;
}
switch (player2Choice) {
case object::rock:
cout << "blah";
break;
case object::paper:
cout << "blah blah";
break;
case object::scissors:
cout << "blah blah blah";
break;
}
}
检查以下内容是否适合您的目的:
enum object {rock, paper, scissors, invalid};
object stringToObject(string input){
if (input == "rock") return object::rock;
else if (input == "paper") return object::paper;
else if (input == "scissors") return object::scissors;
return object::invalid;}
.
.
.
switch(player1Choice){
case object::rock: cout << ""; break;
case object::paper: cout << ""; break;
case object::scissors: cout << ""; break;
default: cout << "Invalid choice"; break;}
.
.
.
相关文章:
- wcstombs_s(),转换字符串的长度
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 无法转换字符串插入函数的参数
- 转换字符串向量:基于先前的值跳过元素
- 从中间器转换字符串不起作用,出了什么问题?
- 失败的证明转换字符串到枚举类
- 如何使用正则表达式和提升转换迭代器标记和转换 c 字符串
- 使用java jni时转换字符串类型
- 如何避免在转换字符串令牌流时重复istringstream构造
- 阿托伊未正确转换字符串
- C++,转换字符串,使连续下划线序列变为单个下划线
- 使用长算术转换字符串
- 转换字符串十进制数时的精度
- 将词法转换字符串提升为双精度
- 使用marshal_as函数转换字符串的性能
- C++不会从数据转换字符串
- 无论如何,在c++ /Qt中转换字符串到结构中的字段
- C++ 隐式类型转换字符串 -> int?
- 转换字符串到浮点数,c++实现
- 用于转换字符串大小写的函数