正在将用户输入与结构数组中的值进行比较



我有一个项目正在为一个类工作,我必须在其中创建一个销售点系统。我试图在这个范围内运行,直到用户输入的选项(例如"B"(与menuOption匹配。我尝试过"strcmp",但没有成功,而且我对C++还很陌生,所以我的知识还很薄弱。我的侦探技能也没有任何解决方案,所以任何帮助都将不胜感激。

我知道下面的代码是错误的,因为它试图比较"char"one_answers"char*",但这就是我想要实现的想法。

for (int i = 0; i < MAX; i++) {
if ( choice[0] == options[i].menuOption){ 
subTotal += options[i].price
itemsOrdered.push_back(options[i].optionName)
}
}

也许我做错了。

struct Menu {
char menuOption[1];
string optionName;
float price;
};

另一种选择是:

char choice[1]

由于您决定选项和菜单选项都是一个字符,因此只能使用这样的字符:

struct Menu {
char menuOption;
string optionName;
float price;
};
char choice;

然后你这样比较:

if ( choice == options[i].menuOption)

如果你想让你的代码按原样工作,只需更改这一行:

if ( choice[0] == options[i].menuOption)

收件人:

if ( choice[0] == options[i].menuOption[0])

相关内容

  • 没有找到相关文章

最新更新