If-Else Statement Error
显示 更早的评论
code = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
if code==25
fprintf ('Correct code! /n')
else
fprintf ('please try again /n')
code = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
end
for some reason, i keep getting this error (Operator '==' is not supported for operands of type 'cell'. Error in EscapeRoom (line 2)
if code==25) whenever I input a value into the pop-up window and I've tried several functions and it still wont work, what do I have to change in my code to get it to work?
回答(1 个)
the cyclist
2021-3-15
The inputdlg returns a cell array of the string that the user enters. You need to convert that to a numeric data type. Here is one way:
codeCell = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
code = str2double(codeCell);
if code==25
fprintf ('Correct code! /n')
else
fprintf ('please try again /n')
code = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
end
5 个评论
Ghina Alhunaidi
2021-3-15
the cyclist
2021-3-15
Your original code never looped. I would do that with a while loop.
I changed the code so that it doesn't convert to numeric, but uses strcmp to check the string instead. It will work for 'ABCD'.
codeCell = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
code = cell2mat(codeCell);
while ~strcmp(code,'25')
disp('please try again')
codeCell = inputdlg('Please enter the Alphabet Blocks Puzzle code:');
code = cell2mat(codeCell);
end
disp('Correct code!')
I also changed your fprintf to disp instead, which I think is a simpler way to do what you were trying to do.
Ghina Alhunaidi
2021-3-15
the cyclist
2021-3-15
You are being sloppy in using the code I posted. You should spend more time trying to understand the functions I used, instead of just blindly copy/paste.
Specifically, you are mixing up how I used strcmp and how I used str2double. I would look only at the latest code I posted -- which did not use str2double at all -- and try again to make that work for your second code.
Ghina Alhunaidi
2021-3-15
类别
在 帮助中心 和 File Exchange 中查找有关 Strategy & Logic 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!