Simple Unit Conversion, Undefined variable Error

I'm trying to write a function that should convert inch, feet, mm and cm to meters. Code is below;
function MetricWorks
x= input('Enter the Input Distance: ');
y= input('Enter the input Units(cm,mm,in,ft): ');
in=x*0.0254;
ft=x*0.3048;
cm=x*0.01;
mm=x*0.001;
switch y
case 'in'
fprintf('%0.1f inches is equal to %0.4f m \n',x,in)
case 'feet'
fprintf('%0.1f feet is equal to %0.4f m \n',x,ft)
case 'cm'
fprintf('%0.1f cm is equal to %0.4f m \n',x,cm)
case 'mm'
fprintf('%0.1f mm is equal to %0.4f m \n',x,mm)
endswitch
end
As you can guess it gives 'Undefined function or variable 'in'.' error. I don't know if there are any other possible errors after that.
Thanks in advance.

 採用された回答

Star Strider
Star Strider 2021 年 2 月 8 日

1 投票

The ‘y’ response needs to be a string (actually, character vector):
y = input('Enter the input Units(cm,mm,in,ft): ','s');
See the input documentation section on Request Unprocessed Text Input.

2 件のコメント

Ferhat Bastug
Ferhat Bastug 2021 年 2 月 8 日
It works perfectly now thanks to you, I guess all I had to do was string but I never knew about it before, thanks again.
Star Strider
Star Strider 2021 年 2 月 8 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by