2014-02-23 44 views
-3

如果你輸入它的作品完美,但任何數量超過20,如果你輸入一個數大於20的輸出看起來沿與MATLAB條件邏輯問題

是他willYeah HES要去東西線小便自己

我只是希望它顯示

不,他會

爲什麼它仍然輸出的if語句是完全不同的一個片段。如果輸入的數字大於20,那麼我希望程序剛剛結束。

fprintf('Let''s see if Dane will piss himself...'); 
x = input('\n\n\nHow many drinks has Dane consumed? '); 
if x >= 20; 
    fprintf('Yes he will'); 
elseif x < 20; 
    drugs = input('\n\nHas Dane done molly or shrooms? ','s'); 
end 
answer = strcmp(drugs,'yes'); 
answer1 = strcmp(drugs,'no'); 
if (answer); 
    disp('Yeah he''s gonna piss himself'); 
elseif (answer1); 
    disp('Probably not but you should still sleep in the quad'); 
end 
+1

你認爲你可以爲你將來的問題選擇更多的專業範例嗎? – Flexo

回答

0

我認爲這是目前後的第一個end前應移動代碼的一部分end

fprintf('Let''s see if Dane will piss himself...'); 
x = input('\n\n\nHow many drinks has Dane consumed? '); 
if x >= 20; 
    fprintf('Yes he will'); 
elseif x < 20; 
    drugs = input('\n\nHas Dane done molly or shrooms? ','s'); 
    answer = strcmp(drugs,'yes'); 
    answer1 = strcmp(drugs,'no'); 
    if (answer); 
     disp('Yeah he''s gonna piss himself'); 
    elseif (answer1); 
     disp('Probably not but you should still sleep in the quad'); 
    end 
end 
0

這是我看到的時候我通過作爲輸入:

How many drinks has Dane consumed? 28 
Yes he will??? Undefined function or variable 'drugs'. 

Error in ==> tst at 8 
answer = strcmp(drugs,'yes'); 

無論如何,如果你「希望程序剛剛結束那裏」,你可以把一個之後的。
是這樣的:

if x >= 20; 
    fprintf('Yes he will'); 
    return 
elseif x < 20; 
    drugs = input('\n\nHas Dane done molly or shrooms? ','s'); 
end