如何返回-1值?

时间:2016-06-05 01:39:22

标签: matlab

编写一个名为day_diff的函数,它接受四个标量正整数输入,month1,day1,month2,day2。这些代表了2015年出生的两个孩子的生日。该函数返回一个正整数标量,该标量等于两个孩子的年龄之间的差异。确保检查输入值是否为正确的类型,并且它们代表有效日期。如果它们是错误的,则返回-1。对函数的示例调用将是

  
    

dd = day_diff(1,30,2,1);     这将使dd等于2.您不能使用内置函数datenum或datetime。

  



function dd = day_diff(month1, day1, month2, day2)
if (month1 && month2 > 0) || (month1 && month2 <= 12)
    if month1 == 1 && month2 == 1
        if day1 == day2
            total1 = day1;
            total2 = day2;
        elseif day1 ~= day2
            total1 = max(day1,day2);
            total2 = min(day1,day2);
        end
    elseif month1 == 1 && month2 == 2
        total1 = day1;
        total2 = day2 + 31;
    elseif (month1 == 2 && day1 <= 28) && month2 == 1
        total1 = day1 + 31;
        total2 = day2;
    elseif month1 == 1 && month2 == 12
        total1 = day1;
        total2 = day2 + 334;
    elseif month1 == 2 && month2 == 3
        total1 = day1 + 31;
        total2 = day2 + 59;
    elseif month1 == 7 && month2 == 9
        total1 = day1 + 181;
        total2 = day2 + 243;
    else
        return
    end
end
dd = (max(total1,total2)) - (min(total1,total2));
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您只需要为dd的{​​{1}}分配值:

-1