3

下記のようなケースについては、

a=3; b=4; c=5;
k = menu ('choose','a','b','c');

ユーザーが選択した場合a、値を割り当てて論理ループを実行するにはどうすればよいですか? 例えば、

if 'a'; x=a;
else if 'b'; x=b;
else if 'c'; x=c;
end

次に、割り当てられた x の値を使用して計算を続けることができます。例えば、

w=x+5
4

2 に答える 2

3

kユーザーが選択した番号です。あなたの場合:

switch (k) 
    case 1
       x = a;
    case 2
       x = b;
    case 3
       x = c;
    otherwise
       fprintf(1, 'do not know what to do - user closed menu w/o selection\n');
end
于 2012-12-20T16:39:22.850 に答える
2

返された出力値kは次のように使用できます。

if k == 1; x=a;
else if k == 2; x=b;
else x=c;
end

kメニュー内のボタンのインデックスを示す整数です。

しかし、代わりに私は以下のように何かをします:

values = [3 4 5];
k = menu('choose','a','b','c');
if k > 0
   x = values(k);
else
   error('You should provide an option.')
于 2012-12-20T16:37:13.347 に答える