Error Messages
2 ビュー (過去 30 日間)
古いコメントを表示
Hi Folks,
I have generated my code depending on what the user inputs. So, my questions in the command window is basically numbers corresponding to particular Methods that I have coded. However, now, if the user inputs a character or number outside those input number range the question asks, by mistake, the code continues and gives an error later down. I would like it to stop there temperarily and requestion the user with the same question until he/she gets it correct.
disp('Please Enter the Method:')
disp('1 – Aligrot Method')
disp('2 – Pishinger Method')
disp('3 – Watson Method')
UserInput = input('Enter the Number corresponding to the selective Method and Press ENTER: ');
if UserInput == 1
… %calls a set of functions
elseif UserInput == 2
… %calls a set of functions
elseif UserInput == 3
… %calls a set of functions
elseif 3 < UserInput < 1 || ischar(UserInput )
error('PLEASE READ CAREFULLY!!');
end
Thanks
2 件のコメント
Daniel Shub
2012 年 4 月 26 日
What is the problem you are having? What happens and what do you expect to happen?
採用された回答
Daniel Shub
2012 年 4 月 26 日
Your if statement can be made to work, but I think a switch statement is a little cleaner.
doc switch
There are lots of ways of handling the exiting from the loop. You might want to use
doc break
I went with a TF flag that is either true or false.
TF = true;
while TF
TF = false;
disp('Please Enter the Method:')
disp('1 – Aligrot Method')
disp('2 – Pishinger Method')
disp('3 – Watson Method')
UserInput = input('Enter the Number corresponding to the selective Method and Press ENTER: ');
switch UserInput
case 1 %calls a set of functions
case 2 %calls a set of functions
case 3 %calls a set of functions
otherwise
warning('PLEASE READ CAREFULLY!!');
TF = true;
end
その他の回答 (1 件)
Daniel Shub
2012 年 4 月 26 日
Why not get fancy:
UserInput = questdlg('Select a method.', 'Method List', ...
'Aligrot', 'Pishinger', 'Watson', 'Aligrot')
switch lower(UserInput)
case 'aligrot' %calls a set of functions
case 'pishinger' %calls a set of functions
case 'Watson' %calls a set of functions
end
7 件のコメント
Walter Roberson
2012 年 4 月 26 日
Everything in the graphics system is a GUI, including inputdialog. Some of the GUI are pre-written, that's all.
I do not recall any pre-written sliders at the moment, but sliders are not difficult to implement. You might want to check out (e.g.) "41 GUI examples" from the file exchange.
参考
カテゴリ
Help Center および File Exchange で National Instruments Frame Grabbers についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!