why will the area only work for the circle and not the other shapes
1 次查看(过去 30 天)
显示 更早的评论
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:';
r=input(prompt);
A=pi*r^2;
elseif shapes =='rectangle'
prompt = 'enter (length:)';
length=input(prompt,'s');
prompt= 'enter (breadth:)';
breadth=input(prompt,'s');
A=length*breadth;
elseif shapes=='cylinder'
prompt='enter (height:)';
height=input(prompt,'s');
prompt='enter (r):';
r=input(prompt,'s');
A=(pi*r^2)*height;
end
formatspec= 'value in squared units %10.3f';
fprintf(formatspec,A)
1 个评论
James Tursa
2022-2-2
Please remove your screenshot image and instead post your code as plain text highlighted with the CODE button. We can't copy & run images.
回答(1 个)
James Tursa
2022-2-2
编辑:James Tursa
2022-2-2
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')
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!