如何定义此"if block"中其他无效输入的值,以便在c ++中将字符串转换为对象?

How to define the value of other invalid input in this "if block" for converting string to object in c++?

本文关键字:转换 字符串 对象 输入 定义 何定义 if 无效 其他 block      更新时间:2023-10-16

我正在尝试在下面的代码中将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;}
.
.
.