Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

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

1 Ansicht (letzte 30 Tage)
DJ V
DJ V am 26 Nov. 2016
Geschlossen: Stephen23 am 27 Nov. 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 Kommentare
John D'Errico
John D'Errico am 27 Nov. 2016
Bearbeitet: John D'Errico am 27 Nov. 2016
Please stop asking the same question multiple times.
Stephen23
Stephen23 am 27 Nov. 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

Antworten (1)

Mischa Kim
Mischa Kim am 27 Nov. 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

Community Treasure Hunt

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

Start Hunting!

Translated by