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 回答