Prevent user from selecting same option

  • I am tasked with creatin a menu with 5 options and then a menu with the options left so that the user cannot choose same option twice. I know how to create the first menu but i do not know how to create the second one.

回答 (1 件)

Image Analyst
Image Analyst 2020 年 2 月 3 日

0 投票

Use listdlg():
choices = {'Choice 1', 'Choice 2', 'Choice 3', 'Choice 4', 'Choice 5'}
[selectedIndex1, tf] = listdlg('ListString', choices); % Range is 1 to 5
% Remove the users choice from the list so it cannot be chosen next time.
choices(selectedIndex1) = []; % Set to null to remove it.
% Get choice from remaining items:
[selectedIndex2, tf] = listdlg('ListString', choices); % Range is 1 to 4 now
Note however that the indexes change. So for example if choice 3 was chosen and removed, choice 5, which was index 5 the first one, will be index 4 the seond time because one above it was removed.

カテゴリ

ヘルプ センター および File ExchangeScope Variables and Generate Names についてさらに検索

タグ

質問済み:

2020 年 2 月 2 日

回答済み:

2020 年 2 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by