Need help with conversion program

Need help creating a program that is capable of converting from cm or in or ft into units of cm or in or ft. If incorrect units are input by the program user print an appropriate message and do not perform conversion.
ex] Command window should prompt 3 times:
Enter the Input Distance: 1
Enter the input Units(cm,in,ft): ft
Enter output units to convert to(cm,in,ft): in
1 ft = 12 in
ex]
Enter the Input Distance: 1
Enter the input Units(cm,in,ft): x
Incorrect input units
Thanks

2 Comments

what have you done so far? and where are you getting stuck?
in=1
cm=2.54*in
ft=12*in
Distance=input('Enter a Distance:');
Units=input('Enter Units Of Distance(cm,ft,in):');
Output=input('Enter Output Units to Convert to(cm,in,ft):');
if (Units='in' & Output='cm')
Out=Distance*cm
end
fprintf('\n\nConversion=%g\n',Out)

Sign in to comment.

 Accepted Answer

There can be many solutions for this, smaller one also, but for a beginner level, this will sure work for you.
d= input('Enter the Input Distance: ');
i= input('Enter the input Units(cm,in,ft): ');
o= input('Enter output units to convert to(cm,in,ft): ');
switch i
case 'cm'
if o=='in'
x=d/2.54;
else
if o=='ft'
x=d/30.48;
else
if o=='cm'
x=d;
end
end
end
case 'in'
if o=='in'
x=d;
else
if o=='ft'
x=d/12;
else
if o=='cm'
x=2.54*d;
end
end
end
case 'ft'
if o=='in'
x=d*12;
else
if o=='ft'
x=d;
else
if o=='cm'
x=d*30.48;
end
end
end
str = fprintf('%d %s = %d %s',d,i,x,o);
otherwise
disp('wrong input');
end

1 Comment

i did not get the answers using these codes, it appears that 'unrecognized cm' when i put cm in i input ?

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 13 Feb 2014
Edited: Walter Roberson on 13 Feb 2014
Units=input('Enter Units Of Distance(cm,ft,in):', 's');
Also, use strcmp() to compare strings, not "="

Categories

Asked:

on 13 Feb 2014

Commented:

on 24 Dec 2020

Community Treasure Hunt

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

Start Hunting!