Why is this giving me two outputs instead of one and how do I fix it?

4 Ansichten (letzte 30 Tage)
if BirthM == 1
if BirthD == 1
fprintf (fileID,'\n you are %d years %d month and %d day old', BirthY,BirthM,BirthD);
else
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
if BirthM ~= 1
if BirthD == 1
fprintf (fileID,'\n you are %d years %d months and %d day old', BirthY,BirthM,BirthD);
else
fprintf (fileID,'\n you are %d years %d months and %d days old', BirthY,BirthM,BirthD);
end
fprintf (fileID,'\n you are %d years %d months and %d days old', BirthY,BirthM,BirthD);
end
I want this to only give me one message thats says depending on the month (You are something years, something months and something days old depending on whether or not the days or month equal one or not so I can change the message.
Every time I run this, it outputs the same message twice. Why?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Okt. 2020
if BirthM == 1
if BirthD == 1
fprintf (fileID,'\n you are %d years %d month and %d day old', BirthY,BirthM,BirthD);
else
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
Look at the code again, formatted:
if BirthM == 1
if BirthD == 1
fprintf (fileID,'\n you are %d years %d month and %d day old', BirthY,BirthM,BirthD);
else
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
fprintf (fileID,'\n you are %d years %d month and %d days old', BirthY,BirthM,BirthD);
end
and it becomes more obvious that you do the two first fprintf() depending on BirthD, and that after having done that, then either way you proceed to do another fprintf()
You do not want that last fprintf() that is done unconditionally.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by