`

编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒

 
阅读更多
/*************************************
    编写一个函数,要求输入年月日时分秒,
    输出该年月日时分秒的下一秒。
    如输入2004年12月31日23时59分59秒,
    则输出2005年1月1日0时0分0秒
**************************************/

#include <stdio.h>
#include <stdlib.h>

/* define function */
void InputData(void);
int LeapYear(int year);
void NextSec(void);

/* month[0];leap year month[1]; common year */
int Amonth[2][13]={
                   {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
                   {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
                   };
int leap = 0;
int year, month, day, hour, minute, second;
/*
 * Function Name: LeapYear()
 * Describe: judge the current year is leap year or not
 * Paramete: int year:current year
 * Return Value: 1-leap year; 0-not
 */
int LeapYear(int year)
{
    if ( (year%4 == 0) && (year%100 != 0) || 
         (year%400 == 0) )
    {
         return 1;
    }
    else
    {
        return 0;
    }
}

/*
 * Function Name: InputData()
 * Describe: input data
 * Paramete: void
 * Return Value: void
 */
void InputData(void)
{
     printf("Input year(Press Enter to end input):");
     if (scanf("%d", &year) != 1 || (year < 1000))
     {
                     puts("Input year error");
                     getchar();
                     exit(0);
     }
     leap = LeapYear(year);
      
     printf("Input month:");
     if (scanf("%d", &month) != 1 || month<1 || month>12)
     {
                     puts("Input month error!");
                     getchar();
                     exit(0);
     }
     
     printf("Input Day:");
     if (scanf("%d", &day) != 1 || day<1 || day>Amonth[leap][month])
     {
                     puts("Input day error!");
                     getchar();
                     exit(0);
     }
     
     printf("Input Hour:");
     if (scanf("%d", &hour) != 1 || hour<0 || hour>59)
     {
                     puts("Input hour error!");
                     getchar();
                     exit(0);
     }
     
     printf("Input Minute:");
     if (scanf("%d", &minute) != 1 || minute<0 || minute>59)
     {
                     puts("Input minute error!");
                     getchar();
                     exit(0);
     }
     
     printf("Input Second:");
     if (scanf("%d", &second) != 1 || second<0 || second>59)
     {
                     puts("Input second error!");
                     getchar();
                     exit(0);
     }
}

/*
 * Function Name: NextSec()
 * Describle: Count the next second by the current time
 * Paramete; void
 * ReturnValue: void 
 */
void NextSec(void)
{
     if (++second == 60)
     {
                  second = 0;
                  minute++;
     }
     if (minute == 60)
     {
                minute = 0;
                hour++;
     } 
     if (hour == 24)
     {
              hour = 0;
              day++;
     }
     if (day == Amonth[leap][month]+1)
     {
             day = 1;
             month++;
     }
     if (month == 13)
     {
               month = 1;
               year++;
     }
     
     printf("The next second is %d-%d-%d %d:%d:%d\n\n",
             year, month, day, hour, minute, second);
}

int main(void)
{
    InputData();
    
    NextSec();
    
    system("PAUSE");
    return 0;
}
分享到:
评论

相关推荐

    EXTJS时间控件年月日时分秒

    创建一个年月日时分秒的时间控件,我们需要设置以下关键配置项: 1. `format`: 这个配置项用于指定时间的显示格式,例如`'Y-m-d H:i:s'`表示年-月-日 时:分:秒。 2. `minValue`和`maxValue`: 分别设置时间选择的...

    把毫秒数转换为年月日时分秒

    这段代码会输出类似“2023-02-28 12:00:00”的结果,这就是将毫秒数转换为年月日时分秒的表示。 在Java中,类似的转换可以使用`java.time.Instant`类和`java.time.format.DateTimeFormatter`类来完成。首先,用`...

    c语言 时间戳秒转化为年月日时分秒,不用库文件

    c语言 时间戳秒转化为年月日时分秒,不用库文件 绝对准确,好用方便快捷。

    多功能数字钟 1602显示温度 年月日时分秒

    "多功能数字钟1602显示温度年月日时分秒" 本资源是一个多功能数字钟,使用DS1602显示温度、年月日、时分秒,并具有可调日期、时间、星期及温度实时监测的功能。该数字钟还具有闹铃功能,可以根据用户的需求进行设置...

    年月日时分秒的即时显示

    在现代网页开发中,实时性功能的实现越来越受到重视,其中“年月日时分秒的即时显示”便是一个常见且实用的需求。这一功能不仅应用于计时器、倒计时、实时更新的数据展示等场景,还广泛用于博客、新闻网站的时间戳,...

    原生js日期控件带时分秒点击text文本框选择日期时分秒

    在JavaScript编程中,创建一个原生的日期控件,尤其是带有时分秒选择功能的,是常见的需求。这种控件通常用于用户输入日期和时间,比如在表单中。在这个场景下,`input`文本框结合原生JS可以实现一个自定义的日期...

    日历年月日时分秒控件myCalendar.js

    《日历年月日时分秒控件myCalendar.js详解》 在前端开发中,日期选择器是一个常见的组件,它能够帮助用户方便地选取日期和时间。`myCalendar.js`是一款小巧而功能强大的JavaScript库,专为创建日历年月日时分秒控件...

    结构体变量(包括年、月、日),编程序,要求输入年月日,程序能计算并输出该日在本年中是第几天

    在本例中,我们定义了一个名为Date的结构体变量,其中包含三个成员变量:year、mouth和day,它们分别用于存储年、月和日的信息。 在程序中,我们使用switch语句来计算日期在一年中的天数。switch语句是一种选择结构...

    输入年月日输出该年是这一年的第几天

    通过以上分析,我们可以看到,即使是一个看似简单的“输入年月日输出该年是这一年的第几天”的任务,也涉及到了日期计算、数据类型、函数设计、输入输出、流程控制等多个方面的IT知识。这对于学习编程尤其是C++语言...

    c语言代码,输入年月日计算天数

    ### C语言代码:输入年月日计算天数 在C语言编程中,处理日期和时间相关的计算是一项常见的任务。本文将详细介绍如何通过一个简单的C语言程序来计算输入年份已经过去的天数。此程序首先接收用户输入的年、月、日,...

    可调实时时钟,可显示年月日,时分秒

    在C程序中,我们需要编写函数来初始化RTC,读取时间数据,处理数码管的段控制,以及处理用户输入的调节命令。 数码管显示是通过驱动芯片如74HC595或者直接通过微控制器的GPIO引脚来实现的。六个数码管分别显示年、...

    日期,时间格式,年月日时分秒星期JAVAScript代码

    `toLocaleString()` 方法返回一个表示该日期对象的字符串,该字符串是根据本地语言环境设置而格式化的。 ```javascript new Date().toLocaleString() ``` 此方法会自动根据用户的操作系统语言设置来确定日期和时间的...

    输入年月日,并打印出该月的日历,并显出星期,在日历上标出该日

    根据给定的文件信息,我们可以总结出一个关于Java编程中如何输入特定的年月日,并在控制台上打印出该月完整日历的关键知识点。这个知识点不仅涵盖了基础的用户输入处理,还包括了日期计算、闰年判断以及日历格式化...

    基于对话框的日历,显示内容包括年月日时分秒星期

    这个特定的应用程序设计包括几个关键的技术元素,如椭圆透明对话框、获取系统时间、对话框置顶以及显示详细的时间信息(年月日时分秒星期)。下面将详细解析这些知识点: 1. **椭圆透明对话框**: - 在GUI设计中,...

    Android 时间控件 选择年月日时分秒 真实可以选择到秒

    综上所述,创建一个自定义的Android时间选择器,可以选择年月日时分秒,是一项涉及布局设计、事件处理、数据管理等多个方面的任务。通过这样的自定义控件,可以为用户提供更加灵活和精确的时间选择体验,同时也展示...

    js原生时间插件(带时分秒)

    每个下拉菜单的`change`事件都可以触发一个函数,该函数根据当前选择更新其他下拉菜单的可用选项。 最后,为了保存用户的选择,可以将日期和时间值转换为标准的ISO 8601格式(如`YYYY-MM-DDTHH:mm:ss`),或者...

    JS日期选择器带时分秒

    "JS日期选择器带时分秒"是指一个能够显示并允许用户选择具体到秒的日期时间选择器。这样的功能在许多Web应用程序中非常实用,比如在线预订系统、日程安排或事件管理等。 在描述中提到的"这个特别好!推荐大家使用这...

    Ext4.2年月日时分秒控件

    本文将详细讨论基于Ext4.2的年月日时分秒时间选择控件,一个功能强大且经过验证的组件,它能为用户提供方便、直观的时间输入体验。 首先,我们来了解Ext4.2。Ext JS是Sencha公司开发的一款JavaScript框架,主要用于...

    python 实现毫秒转换为时分秒

    在Python编程中,有时我们需要处理时间相关的数据,例如将毫秒转换为更易读的时分秒格式。这个任务在处理服务器返回的数据时尤其常见,因为服务器可能以毫秒为单位提供时间戳。本篇文章将深入探讨如何实现这一转换,...

Global site tag (gtag.js) - Google Analytics