what to do when there are same conditions in if and elseif

2 visualizaciones (últimos 30 días)
Here is my code,
if denominator==0
disp('Division by 0 is not possible.');
elseif numerator==0 && denominator==0
disp('The result is indeterminate.');
else
result = numerator/denominator;
fprintf('The result of the fraction is %.2f',result);
end
When the denominator is set to 0, it displays "Division by 0 is not possible."
When both the numerator and denominator are set to 0, it still displays "Division by 0 is not possible.". But it should be displaying: "The result is indeterminate.".
I think it's because of the same conditions in if and elseif that is denominator==0.
What should I do?
Thanks in advance!

Respuesta aceptada

Gaurav Aggarwal
Gaurav Aggarwal el 2 de Jul. de 2020
Editada: Gaurav Aggarwal el 2 de Jul. de 2020
Hi Roxanne,
You are right. Since both the conditions have denominator == 0 common, if clause will become true and you get 'Division by 0 is not possible.'
For your application, you can re-order the if elseif clauses like following:
if numerator==0 && denominator==0
disp('The result is indeterminate.');
elseif denominator==0
disp('Division by 0 is not possible.');
else
result = numerator/denominator;
fprintf('The result of the fraction is %.2f',result);
end
Hope it helps. Thanks.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by