2016-07-26 2 views
3

ユーザーの入力に基づいてテキストを表示しようとしています。たとえば、単語APPLEを入力すると、BANANAが表示されます。Then Thenステートメントがすべての可能性を表示します

このコードは正常に動作します:

:Input X 
:If X=APPLE 
:Disp "BANANA" 

をしかし、私は一連のチェックをするために、これをオフに構築する方法がわからないよ:

:Input X 
:If X=Apple 
:Disp "BANANA" 
:If X=LEMON 
:Disp "LIME" 
:If X=PEACH 
:Disp "PEAR" 

私はこれを行う場合、それはBANANA、LIMEを表示、PEARの順番で入力します。私は何が欠けていますか?

答えて

2

Xの代わりにStr1を使用するようにスニペットを書き直してください。これにより、文字列型と別の文字列型を確実に比較できます。

:Input Str1 

:If Str1="APPLE" 
:Then 
:Disp "BANANA" 
:End 

:If Str1="LEMON" 
:Then 
:Disp "LIME" 
:End 

:If Str1="PEACH" 
:Then 
:Disp "PEAR" 
:End 
+0

、私はERR:DATA TYPE – matlabconqueso

+0

@Seanスニペットを更新しました。試してみてください。 – 4444

+1

それは動作します!ありがとうございました! – matlabconqueso

0

受け入れられる回答は正しいですが、不要なThen/Endステートメントと終了引用符を使用して合計で18バイト余分になります。私はあなたの元に、より類似しているこのコードをお勧めします:上記のコードを想定し

Input Str1 
If Str1="APPLE 
Disp "BANANA 
If Str1="LEMON 
Disp "LIME 
If Str1="PEACH 
Disp "PEAR 

がプログラム全体で、それはに短縮することができます:私はこれをしようとすると、こんにちは

Input Str1 
If Str1="APPLE <-- you can remove this line if you know there will be no invalid input 
"BANANA 
If Str1="LEMON 
"LIME 
If Str1="PEACH 
"PEAR 
Ans 
関連する問題