zoukankan      html  css  js  c++  java
  • c++ 根据生产日期,保质期求出过期时间

    第4关:计算日期

    挑战任务

    我们吃的食物都有保质期,现在食品监督管理局想要制作一个能准确计算食品过期日期的小程序,需要请你来进行设计。

    例如:A食品在2018年1月1日生产,保质期是20天,则它的过期日期在2018年1月21日。

    编程要求

    补全函数string getDate(string releaseDate,int day)其中releaseDate表示食品出厂日期day表示保质期,请根据传入的数据计算食品的过期日期,格式为yyyy-mm-dd4位年份2位月份2位日期。比如:2015-02-19

    请严格按照格式书写,不能出现其它文字或符号,并将最终结果做为函数的返回值返回。

    测试说明

    样例1:

    输入:
    2016-01-0120

    输出:

    2016-01-21


    #include<iostream>
    #include<string.h>
    #include<cstdio>
    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(i<releaseDate.length()){
    		d=d*10+releaseDate[i]-'0';         //日d
    		i++;
    	}
    	int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    	d+=day;
    	if(m==2)                               //考虑润年的二月
    		mon[2]=28+(y%4==0&&y%100!=0||y%400==0);
    	while(d>mon[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<s.length();i++)
    		cout<<s[i];
    	cout<<endl;
    	return 0;
    }

    体会:学会如何去计算日期。

    朋友们,无论这个世界变得怎样,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    黑马程序员——【Java基础】——Java IO流
    黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API
    黑马程序员——【Java基础】——集合框架
    nodeJs与elementUI实现上图片
    NodeJS连接mysql数据库
    nodeJs实现跨域
    将Express生成器下的pug修改为html
    git使用总结
    使用vue+elementUI组件实现表格自动完成
    nginx配置thinkphp5
  • 原文地址:https://www.cnblogs.com/FrankChen831X/p/10326090.html
Copyright © 2011-2022 走看看