Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

My code is producing two answers, but it is only supposed to print one.

1 visualización (últimos 30 días)
DJ V
DJ V el 26 de Nov. de 2016
Cerrada: Stephen23 el 27 de Nov. de 2016

my code is producing:

payment = fare(1.45,17)

pay2 =

   11.2500

payment =

    1.6900

The code itself is:

function payment = fare(miles,age)
    pay1 =0;
    pay2=0;
    pay3=0;
    if miles <= 1
        pay1 = 200;
        payment = pay1;
    elseif miles <=10
        pay1= 200;
        pay2 = (miles-1)*0.25*100
        payment = pay1+pay2;
    elseif miles>10
        pay1 = 200
        pay2 = (10-1)*0.25*100
        pay3 = (miles-10)*0.10*100
        payment = pay1+pay2+pay3;
    end
    payment = (pay1+pay2+pay3)/100;
    if age <=18 || age>=65
        payment = (pay1+pay2+pay3)*0.8/100;
    else
        payment=(pay1+pay2+pay3)/100;
    end
end

Why is this spitting out two answers when I only want it to return "payment"?

  2 comentarios
John D'Errico
John D'Errico el 27 de Nov. de 2016
Editada: John D'Errico el 27 de Nov. de 2016
Please stop asking the same question multiple times.
Stephen23
Stephen23 el 27 de Nov. de 2016
Duplicate:
https://www.mathworks.com/matlabcentral/answers/314071-i-m-getting-two-answer-from-my-function-i-only-want-one-how-do-i-fix-this

Respuestas (1)

Mischa Kim
Mischa Kim el 27 de Nov. de 2016
DJ, the function is only returning only one variable, payment.
pay2 is only displayed because there is no semi-colon after the command
pay2 = (miles-1)*0.25*100

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by