我有一个项目正在为一个类工作,我必须在其中创建一个销售点系统。我试图在这个范围内运行,直到用户输入的选项(例如"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])