2017-03-19 182 views
-2

我已找到更改年份的解決方案,但我無法添加具有31天的月份的日期,您能告訴我我錯在哪裏嗎?將日期添加到日期

#include<stdio.h> 
    int main() 
    { 
     int dd,mm,yy,numb_days,temp; 

     printf("Enter date in format(DD/MM/YYY format):"); 
     scanf("%d/%d/%d",&dd,&mm,&yy); 

    printf("Enter number of days:"); 
    scanf("%d",&numb_days); 

    if ((dd+numb_days) < 30) { 
     dd = dd + numb_days; 
    } 
    if (mm ==12){ 
     yy++; 
    } 
    if ((dd+numb_days)< 31) 
{ 
    temp = (dd+numb_days) -31; 
    mm++; 
    dd=temp; 
} 
    else { 
     temp= (dd+numb_days) - 30; 
     mm++; 
     dd=temp; 
    } 
    printf("%d/%d/%d",dd,mm,yy); 
    return 0; 
} 
+1

你的問題與C無關,真的。我建議你花點時間弄清楚如何在沒有電腦的情況下計算日期,使用一張紙和一支筆。 – StoryTeller

+0

我投票結束這個問題作爲題外話,因爲我們不在這裏爲你做功課;你必須至少試着先編寫程序。 –

+0

有31天的任何提示 –

回答

0

這是違反規定的,但看起來像你是新的,所以我要回答 已拍攝的輸入 所以你可以做其他類似這樣的

int numb_days; 
int temp; 
scanf("%d" ,&numb_days); 


if ((dd+numb_days) < 30) 
    dd = dd + numb_days; 
else 
    temp= (dd+numb_days) - 30 ; 
    mm++; 
    dd=temp; 

現在的日期更新

+0

(1)爲別人做作業並不具有建設性。 (2)不同的月份有不同的天數。而且增加到十二月也會影響一年。 – StoryTeller

+0

首先,我沒有給出確切的解決方案,只是一個想法 第二,因爲我提到他似乎是新的,所以我回答了 –

+0

新的並不是原諒主題。你現在仍然在做OP,這是一個重大的失誤(你自己,因爲他們現在可以正確地糾纏你,直到你爲他們制定完整的解決方案),通過禁止他們的學習。 – StoryTeller