-1

ユーザーに温度を尋ねる必要があります。k または K はケルビンを表し、c または C は摂氏を表し、f または F は華氏を表します。それらすべてをループに入れるにはどうすればよいですか?上記の文字のいずれかを入力するまで、ユーザーに尋ね続ける必要があります。これは私がこれまでに持っているものです。

  tempType = input('What type of temperature would you like to use: ', 's');

  value = ['k','K','c','C','f','F'];

  while strcmp(tempType, value) == 1  

     tempType = input('What type of temperature would you like to use: ', 's');

  end
4

2 に答える 2

1

2 つのまったく同じ行を避けるために、次のようにしたいと思います (R2011b でテスト済み)。

AllowedTemperature = {'k','K','c','C','f','F'};
SelectedTemperature = '';
while ~any(strcmp(SelectedTemperature,AllowedTemperature))
    SelectedTemperature = input('What type of temperature would you like to use: ', 's');
end
disp( [ 'SelectedTemperature: ' SelectedTemperature ] )
于 2013-03-27T21:36:02.470 に答える
0

あなた(length(tempType)~=1 || length(findstr(tempType,value))==0)はあなたの状態になりたいです

于 2013-03-27T21:12:31.087 に答える