当前位置: 首页 > news >正文

南昌做网站要多少钱近两年网络营销成功案例

南昌做网站要多少钱,近两年网络营销成功案例,广东建筑人才招聘资讯,杭州做网站公司有哪些题目要求:输入一个日期startdate年月日和days天数(>1),输出自该日期days天后的日期enddate。 要求输出和输出的年份为四位整数,输入时对输入数据的有效性进行检查;同时考虑跨月,跨年和闰年情…
题目要求:输入一个日期startdate年月日和days天数(>=1),输出自该日期days天后的日期enddate。
要求输出和输出的年份为四位整数,输入时对输入数据的有效性进行检查;同时考虑跨月,跨年和闰年情况,闰年用自定义函数计算,日期用结构体描述。

乍一看很复杂,要输入输出有效性判断,加日期,每个月天数还不一样,还得跨年跨月的,闰年我也忘了咋定义的,不过不慌,都是纸老虎,咱们一步步来,先看看这个闰年咋回事。

我们一般说的是公历闰年,公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年场365天5时48分46秒,因此产生了平年和闰年两种规定,平年一年有365天,比回归年短0.22422日,四年共短0.9688日,故每四年增加一日,这一年有366天,就是闰年。但四年增加一日又比四个回归年多0.0312日,400年后就多3.12日,故400年中少设3个闰年,也就是再400年中只设97个闰年,这样公历年的平均长度与回归年就近似了。
由此规定:每400年97闰,不逢百的年份能被4整除的,或者逢百被400整除的,就是闰年,这一年的2月是29天。

逻辑就是被一百整除的还需被四百整除的是闰年,不被一百整除的被4整除是闰年,故闰年判断的代码如下:

int runyear(int years){    if(years%100==0&&years%400==0){cout<<years<<"是闰年"<<endl;return 1;}else if(years%100!=0&&years%4==0){cout<<years<<"是闰年"<<endl;return 1;}    else return 0;}

下个模块就是判断输入有效性,结构体的年份四位数,大于一千小于9999,月份在一和12之间,日期1、3、5、7、8、10、12月最大31,2月结合年份判断,闰年29,平年28,其余最大30,这么一看还挺复杂,结合后续判断需要,我们把这个最大天数月份表先构建出来:

int monthTodays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//月份和每天对照表
if(runyear(startdate.year)) monthTodays[1]=29;//闰年2月29天
int check(struct date){    if(date.year<1000||date.year>9999){cout<<"illgal input!"<<endl;return 0;}else if(date.month<1||date.month>12){cout<<"illgal input!"<<endl;return 0;}//年份和月份判断都简单else if(date.days>0||date.days<monthTodays(data.month)){天数小于月份最大值,借助数组对照方便很多cout<<"illgal input!"<<endl;return 0;}else return 1;
}    

最后就是根据已有日期计算新日期了,这个复杂在情况多,跨月跨年,但是仔细想想操作也很少,天数溢出了就月份加加日期归一呗,无非多一次月份等于12的跨年判断,过一个月就减去剩余天数,代码如下:

struct date caculate(struct startdate,int days,int monthTodays[]){        int rest =days;//剩余天数struct enddate=startdate;while(rest>0){int temp=monthTodays[startdate.month]-startdate.days;//看当月还剩多少天if(rest>temp)//当月天数不足以加完{   if(startdate.month==12)//跨年{enddate.year++;enddate.month=1;enddate.days=1;}else{rest=rest-temp;enddate.month++;enddate.days=1;//更新月份}else{//当月以内就能解决enddate.days=enddate.days+rest;rest=0;}}cout<<enddate.year<<" "<<enddate.month<<" "<<enddate.days<<endl;return enddate;
}    

最后就是主函数了,定义结构体,输入起始日期和days,判断输入有效性,计算新日期,就这一套流程,代码如下:

int main(){int monthTodays[12]={31,28,31,30,31,30,31,31,30,31,30,31};//月份和每天对照表cout<<"输入起始日期";cin>>startdate.year>>startdate.month>>startdate.days;int adddays=0;cout<<"输入新增天数";cin>>adddays;if(check(startdate)){//检查输入合法if(runyear(startdate.year)) monthTodays[1]=29;//闰年2月29天struct enddate=caculate(startdate,adddays,monthTodays)}return 0;
}

写在后面

这套代码其实并不能运行,蹦出十来个错,应该是哪结构不对劲了,但是编译环境简陋,用平板的C++编译器,找错很费劲,就这么着吧;但是逻辑通过写这篇文章的时候又梳理了一遍,应该是没啥问题。

http://www.dinnco.com/news/172.html

相关文章:

  • 产品设计专业最好的大学seo优化效果怎么样
  • 网站关键词怎么修改做百度推广
  • 搭建一个电商网站需要多少费用中国刚刚发生8件大事
  • 广州公司网站建设公司网络营销推广技巧
  • 九江做网站的大公司沧州搜索引擎优化
  • 网站怎么做才沈阳关键词优化费用
  • 莆田网站格在哪里做引流推广平台有哪些
  • 河源做网站的客户最新新闻消息
  • 做爰全过程免费网站可以看郑州搜索引擎优化
  • 安徽智能网站建设哪里有磁力狗最佳搜索引擎
  • 免费创建单页网站高端网站建设定制
  • 网站上传空间seo如何提升排名收录
  • 深圳做网站做app百度的seo关键词优化怎么弄
  • 做图片网站会侵权吗市场营销的八个理论
  • 网站建设怎么建好网站建设开发公司
  • 商业网站的后缀利用搜索引擎营销成功的案例
  • 网络营销师资格证报名整站外包优化公司
  • 做医药商城网站的公司吗百度公司官网
  • 西安商城网站建设咪豆百度小说排行榜完本
  • 都江堰市建设局网站抚顺网站建设
  • java做的网站怎么设置关闭和开启网站访问不了怎么办免费网站友情链接
  • 网站建设的提成网站系统
  • web前端代码大全重庆seo整站优化系统
  • dw网页编辑器泰州seo排名扣费
  • 十里堡网站建设世界足球世界排名
  • 西维科技做网站怎么样搜索引擎排名优化包括哪些方面
  • 建网站靠什么赚钱网络营销岗位描述的内容
  • 阿里云备案 网站备案域名百度应用
  • 用flask做网站重庆seo整站优化系统
  • 深圳网站建设公司613seo技巧与技术