2016-07-26 9 views
3

Я пытаюсь отобразить текст на основе ввода пользователя. Например, ввод слова APPLE должен отображать BANANA.Если инструкция 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

Попробуйте переписать свой фрагмент, чтобы использовать Str1 вместо X. Это обеспечит сравнение типа строки с другим типом строки.

:Input Str1 

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

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

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

Здравствуйте, когда я пытаюсь это, я get 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