2013-03-27 2 views
-1

Мне нужно спросить у пользователя о температуре, k или K означает kelvin, c или C означает значение celsius, а f или F означает Fahrenheit. Как я могу поместить все в цикл? Мне нужно постоянно спрашивать пользователя, пока они не войдут в одну из букв выше. Это то, что у меня есть до сих пор.Matlab, Основы о петлях

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 

ответ

0

(length(tempType)~=1 || length(findstr(tempType,value))==0) Вы хотите быть состоянием вашего пока

1

я предпочел бы сделать так, чтобы избежать два точно такой же линий (проверено в 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 ]) 
+0

'~ любой (strcmp (....)) 'может быть заменен на' ~ ismember (SelectedTemperature, AllowedTemperature) ' – erikced

Смежные вопросы