c++生産日により賞味期限を求める

1667 ワード

第4関門:計算日
任務に挑戦する.
私たちが食べる食べ物には賞味期限があります.今、食品監督管理局は食品の期限切れを正確に計算できる小さなプログラムを作りたいと思っています.設計してください.
例えば、A食品は2018年1月1日に生産され、賞味期限が20日であれば、その期限は2018年1月21日である.
プログラミング要件
補完関数string getDate(string releaseDate,int day)そのうちreleaseDateは食品出荷日dayは賞味期限を表し、入力されたデータから食品の期限切れを計算してください.フォーマットはyyyy-mm-dd、すなわち4位年2位月2位日です.例えば:2015-02-19他の文字や記号は表示されず、最終結果を関数の戻り値として返してください.
テストの説明
サンプル1:
入力:2016-01-0120出力:2016-01-21
#include
#include
#include
using namespace std;

string getDate(string releaseDate,int day){
	int i=0;
	int y=0,m=0,d=0;
	while(releaseDate[i]!='-'){
		y=y*10+releaseDate[i]-'0';         // y
		i++;
	}
	i++;
	while(releaseDate[i]!='-'){
		m=m*10+releaseDate[i]-'0';         // m
		i++;
	}
	i++;
	while(imon[m]){
		d-=mon[m];
		m=(m==12)?1:m+1;
		if(m==1) 
			y++;
		else if(m==2)
			mon[2]=28+(y%4==0&&y%100!=0||y%400==0);
	}
	char yy[11],mm[3],dd[3];
	sprintf(yy,"%d",y);                   //           
	sprintf(mm,"%d",m);
	sprintf(dd,"%d",d);
	strcat(yy,"-");                       //                  
	strcat(yy,mm);
	strcat(yy,"-");
	strcat(yy,dd);
	return yy;
}

int main(){
	string s=getDate("2016-02-22",30);
	for(int i=0;i

体得:日付の計算方法を学ぶ.