While loop for a menu

options=menu('Options','Report Quadrants','Plot Data','Avg. Dist.','Max Dist.','Print Ascii','Exit Program')
while (true) options<6
options=menu('Options','Report Quadrants','Plot Data','Avg. Dist.','Max Dist.','Print Ascii','Exit Program')
for options=6
break
end
end
I'm trying to create a while loop for a menu in order to have it remain until "exit program" is selected from the options menu. Somethings incorrect because the options value goes to 0 after the first choice.

 采纳的回答

In my opinion, the proper way of doing this would be - using call-back functions. Please have a look if this documentation helps you. There are a few relevant examples as well.
doc uimenu
Please let me know, if this is not applicable for any specific requirement that you have.

更多回答(2 个)

You could do this:
buttonNumber = 1; % Initialize
while buttonNumber < 6
buttonNumber = menu('Options','Report Quadrants','Plot Data',...
'Avg. Dist.','Max Dist.','Print Ascii','Exit Program')
if buttonNumber == 6
break; % Get out of the loop
end
% else do stuff based on buttonNumber
end
Paulo Almeida
Paulo Almeida 2017-11-13

0 个投票

Due to respect of this topic, i want to create a submenu inside one of the options, and when the user press "exit/back" ir returns t the previous menu (original one). It works just fine until i press "back" in the submenu option and it seems to enter in an infinite loop and it can't get out of the submenu.

1 个评论

Paulo, this link will solve your problems with your code https://blogs.mathworks.com/videos/2012/07/03/debugging-in-matlab/ Since only you have your code, not us, we can't solve your problem directly. But that link will definitely allow you to solve it yourself.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by