查看几个月的活着

时间:2011-11-22 21:06:31

标签: c++ time

我正在尝试创建一个程序,找出他们活了多少个月,但一直遇到一些问题。到目前为止,这是我的功能:

int getResult(int year, month, day, endResult)
{
    int thisYear, thisMonth, thisDay;

    year = thisYear - year;

    year *= 12;
}

我想要完成的工作会显示如下输出:

Output: 
What year were you born? 
1989 
What month were you born? 
5 
What day were you born? 
23 
You are x months old.

我将继续几个月,但后来我意识到,如果他们出生的月份是在本月之后或之前出现的?所以,如果有人有任何关于如何计算的提示,我会很感激。

2 个答案:

答案 0 :(得分:3)

我们来看看。首先,我们现在说:

year_now and month_now

你的生日是:

year_birth and month_birth

现在,我们逐个讨论:

  • month_now == month_birth:正如您已经计算过:

    months_old = (year_now-year_birth)*12
    
  • month_now > month_birth:很容易,你有:

    months_old = (year_now-year_birth)*12 + (month_now-month_birth)
    
  • month_now < month_birth:在这种情况下,(year_now-year_birth)*12会为您提供更多月份,然后您必须减去:

    months_old = (year_now-year_birth)*12 - (month_birth-month_now)
    

现在,如果你仔细观察,你会发现它们实际上都是相同的公式:

months_old = (year_now-year_birth)*12 + (month_now-month_birth)

(在第三种情况下,month_now-month_birth是否定的)

答案 1 :(得分:0)

months = (thisyear-years)*12+(thisMonth-months)
if(months < 0)
    System.out.println("Invalid info")
else{
    //DO YOUR THANG BRO 
}