why will the area only work for the circle and not the other shapes

1 view (last 30 days)
Jack Purdy
Jack Purdy on 2 Feb 2022
Commented: Jack Purdy on 2 Feb 2022
when i run the code and type 'circle' when prompted the code works and finds the area, when i type rectangle or cylinder i get an error message telling me there is a problem with line 3. this is the first time i have used mathlab and my new lecturer in uni only reads his notes to us without teaching us to physically write the code.
any help is much appreciated.
prompt = 'shapes (circle, rectangle, cylinder):';
shapes = input(prompt,'s');
if shapes =='circle'
prompt = 'input r:';
elseif shapes =='rectangle'
prompt = 'enter (length:)';
prompt= 'enter (breadth:)';
elseif shapes=='cylinder'
prompt='enter (height:)';
prompt='enter (r):';
formatspec= 'value in squared units %10.3f';
  1 Comment
James Tursa
James Tursa on 2 Feb 2022
Please remove your screenshot image and instead post your code as plain text highlighted with the CODE button. We can't copy & run images.

Sign in to comment.

Answers (1)

James Tursa
James Tursa on 2 Feb 2022
Edited: James Tursa on 2 Feb 2022
To compare strings, do not use the == operator which does an elementwise compare. Instead, use a function meant for comparing strings. E.g., strcmp( ), strcmpi( ). You could even use isequal( ) in this context.
if strcmp(shapes,'circle')



Community Treasure Hunt

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

Start Hunting!