结构体\年月日

简介: 结构体\年月日

注意:C语言里面是没有bool(布尔)类型的

我这里用的是vs2010里的.cpp

typedef的用法:

typedef struct 函数原名(可以不加)

{

。。。。。

}定义后的名字(必须要写);

>>>>>>之后就可以直接使用定义后的名字了

#include<stdio.h>
#include<stdlib.h>
 
//定义结构体
typedef struct date
{
  int month;
  int day;
  int year;
}d;
 
//函数声明
bool isleap(struct date d);
int numberofdays(struct date d);
 
int main()
{
  struct date today,tomorrow;
 
  //输入
  printf("请输入今天的日期(yyyy,dd,mm):");
  scanf("%i,%i,%i",&today.year,&today.month,&today.day);
 
  //判断并对年月日加以修改
  if(today.day!=numberofdays(today))
  {
    tomorrow.day=today.day+1;
    tomorrow.month=today.month;
    tomorrow.year=today.year;
  }
  else if(today.month==12)
  {
    tomorrow.day=1;
    tomorrow.month=1;
    tomorrow.year=today.year+1;
  }
  else
  {
    tomorrow.day=1;
    tomorrow.month=today.month+1;
    tomorrow.year=today.year;
  }
 
  //输出
  printf("明天的日期为%i-%i-%i\n",
    tomorrow.year,tomorrow.month,tomorrow.day);
 
  system("pause");
  return 0;
}
 
//函数定义
bool isleap(struct date d)
{
  bool leap=false;
  if((d.year%3==0 && d.year%100!=0) || d.year%400==0)
    leap=true;
  return leap;
}
 
int numberofdays(struct date d)
{
  int days;
  const int dayspermonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  if(d.month==2 && isleap(d))
    days=29;
  else
    days=dayspermonth[d.month-1];
  return days;
}


目录
相关文章
|
6月前
年月日
年月日
48 0
|
1月前
|
安全 C++
友元函数输出时分秒,年月日
友元函数输出时分秒,年月日
10 0
|
1月前
对象指针输出时分秒
对象指针输出时分秒
9 0
|
4月前
2020-04-18T16:51:56+08:00 类型的时间格式化处理
2020-04-18T16:51:56+08:00 类型的时间格式化处理
23 0
|
5月前
|
SQL 关系型数据库 MySQL
【Databand】日期时间函数
【Databand】日期时间函数
69 1
|
6月前
日期字符串转化为年月日
日期字符串转化为年月日
45 0
|
6月前
|
存储 Serverless C语言
每天一道C语言编程(结构体的运用):这是一年的第几天?
每天一道C语言编程(结构体的运用):这是一年的第几天?
29 0
结构体-定义日期结构体类型(包括年、月、日),实现输
结构体-定义日期结构体类型(包括年、月、日),实现输
327 0
|
前端开发 数据格式
前端实现年月日时分秒的转换
前端实现年月日时分秒的转换
181 0
|
存储 关系型数据库 MySQL
列的类型定义——日期和时间类型
前言 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的数据类型。其中,YEAR类型表示年,DATE类型表示日期,TIME类型表示时间,DATETIME和TIMESTAMP表示日期和时间。下面从这5种日期与时间类型的字节数、取值范围和零值等方面进行对比,如下表所示。