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 Commenti

Thomas
Thomas il 13 Feb 2014
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)

Accedi per commentare.

 Risposta accettata

Anuj
Anuj il 13 Feb 2014
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 Commento

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

Accedi per commentare.

Più risposte (1)

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

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by