use*_*514 0 c++ string if-statement
我有以下代码正常工作.但是在我添加一个else语句后,任何事情总是会计算到else
wgetstr(inputWin, ch); //get line and store in ch variable
str = ch; //make input from char* to string
if(str=="m" || str=="M"){
showFeedback("Data Memory Updated");
}
if(str=="p" || str=="P"){
showFeedback("Program Memory Updated");
}
if(str=="g" || str=="G"){
showFeedback("Accumulator, Program Counter, Zero Result Updated");
}
if(str=="e" || str=="E"){
showFeedback("Editing Mode Enabled");
}
if(str=="c" || str=="C"){
showFeedback("Program Copied Into Program Memory");
}
if(str=="r" || str=="R"){
showFeedback("Executing Program");
}
if(str=="x" || str=="X"){
showFeedback("Program Exited");
}
Run Code Online (Sandbox Code Playgroud)
之前的所有内容都根据输入的正确评估.即如果我输入"m",它就会调用showeFeedback("Data Memory Updated"),但是如果我添加以下else语句,无论我输入什么,我总是得到"Invalid Command Entered".
else{
showFeedback("Invalid Command Entered");
}
Run Code Online (Sandbox Code Playgroud)
如果除了第一个之外的所有内容,您需要使用else.
因此,对现有代码进行简单的更改:
if(str=="m" || str=="M"){
showFeedback("Data Memory Updated");
}
else if(str=="p" || str=="P"){
showFeedback("Program Memory Updated");
}
else if(str=="g" || str=="G"){
showFeedback("Accumulator, Program Counter, Zero Result Updated");
}
else if(str=="e" || str=="E"){
showFeedback("Editing Mode Enabled");
}
else if(str=="c" || str=="C"){
showFeedback("Program Copied Into Program Memory");
}
else if(str=="r" || str=="R"){
showFeedback("Executing Program");
}
else if(str=="x" || str=="X"){
showFeedback("Program Exited");
}
else
{
showFeedback("Invalid Command Entered");
}
Run Code Online (Sandbox Code Playgroud)