一个经典的结构体模型(目标输入今天,输出明天)

原创 2017年10月31日 15:38:25
#include<stdio.h>
#include<stdbool.h>
struct date{
    int month;
    int day;
    int year;
}today,tomorrow;

bool isLeap(struct date d);
int numberOfDays(struct date d);

int main()
{
    while (true){                           //只是我自己加上去增加实验次数的
    printf("Enter today's date (mm dd yyyy):");
    scanf("%d %d %d",&today.month,&today.day,&today.year);//输入今天的时间
    if (today.day != numberOfDays(today)){  //先判断是不是最后一天
        tomorrow.day = today.day+1;         //如果不是的话那么天数加一
        tomorrow.month = today.month;       //其他不变
        tomorrow.year = today.year;
    }else if (today.month == 12){   //如果是最后一天,再判断一下是不是12月份。如果是的话,年份加一
        tomorrow.day = 1;
        tomorrow.month = 1;
        tomorrow.year = today.year+1;
    }else {                                 //如果不是12月份那么,月份加一
        tomorrow.day = 1;
        tomorrow.month = today.month+1;
        tomorrow.year = today.year;
    }

    printf("Tomorrow's date is %d-%d-%d.\n",//输出明天的天数
           tomorrow.year,tomorrow.month,tomorrow.day);}
    return 0;
}
int numberOfDays(struct date d)             //靠这个来判断是不是最后一天,结构体传入后会自动创建一个
{
    int days;
    const int dayaPerMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    if (d.month == 2&&isLeap(d))            //进行二月的简单的判断
        days = 29;
    else
       days = dayaPerMonth[d.month-1];
    return days;
}
bool isLeap(struct date d)                  //恶心的布尔值。但是好像并不难,只是返回true或fause罢了
{
     bool leap = false;                     //先假设其是错误的,就是不是闰年,在特定的时候进行转换
     if ((d.year %4 == 0&&d.year%100 != 0)||d.year%400 == 0)
        leap = true;
     return leap;

}


更简单的方法



版权声明:本文为博主原创文章,未经博主允许不得转载。

php 昨天今天明天

date_default_timezone_set('PRC'); //默认时区      echo "今天:",date("Y-m-d",time()),"";      echo "今天:",...
  • mr_orange_klj
  • mr_orange_klj
  • 2015年01月16日 16:22
  • 330

日期判断是今天/明天/后天

/**  *  获取时间是今天,明天还是后天  *  *  @param time 待转换的时间  *  *  @return 今天,明天,后天  */ - (NSStr...
  • sky_yang1024
  • sky_yang1024
  • 2016年03月31日 16:01
  • 453

java计算今天,明天,后天,昨天,前天方法

网上找了一下,方法基本都有bug,自己写了一下,代码挺简单的。供大家使用 使用java计算今天,明天,后天,昨天,前天方法,关键是要知道所在的时区,如果是深圳,所在时区时8,系统初始时间是197...
  • yangxujia
  • yangxujia
  • 2015年09月18日 10:56
  • 1766

时间戳转化为今天、昨天、明天(字符串格式)

时间戳,相信大家一定都不陌生,服务器经常会传回来时间戳,需要我们对时间戳进行处理。各种麻烦不断,比如转为为明天,今天,昨天,或者跟现在时间相对比,过了多长时间,转化为标准格式啊...各种情况,写了一个...
  • u012301841
  • u012301841
  • 2015年02月07日 00:49
  • 1956

java根据日期判断 前天,昨天,今天,明天,后天.

Calendar today = Calendar.getInstance(); Calendar old = Calendar.getInstance(); ...
  • c5153000
  • c5153000
  • 2011年12月03日 10:30
  • 8896

判断日期是昨天,今天,明天,后天,其他的显示星期

DayClass.h #import @interface DayClass : NSObject - (NSString *)dateToStr:(NSDate *)date...
  • ys410900345
  • ys410900345
  • 2015年01月26日 17:04
  • 1800

java/android计算明天,今天,昨天,后天

Java/android计算今天,明天,后天,昨天,前天方法,关键是要知道所在的时区,如果是北京,所在时区东8区,...
  • Jason_996
  • Jason_996
  • 2016年05月04日 13:40
  • 2823

Js获取昨天今天明天的日期

function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount)...
  • weixin_36185028
  • weixin_36185028
  • 2017年06月05日 10:50
  • 488

马云语录:今天很残酷,明天更残酷!后天很美好!但大多数人都死在明天晚上,看不到后天的太阳!

1、今天很残酷,明天更残酷,后天会很美好,但绝大多数人都死在明天晚上,却见不到后天的太阳,所以我们干什么都要坚持!     2、创业艰难用左手温暖你的右手,放弃是最大的失败!(*当你成功的时候,...
  • stamSuper1
  • stamSuper1
  • 2013年04月02日 09:43
  • 5082

java和当天时间相比较,今天明天后天

java显示今天明天后天,最近三天或多天
  • intbird
  • intbird
  • 2014年12月31日 15:08
  • 1391
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个经典的结构体模型(目标输入今天,输出明天)
举报原因:
原因补充:

(最多只允许输入30个字)