C语言小程序 计算第二天日期示例代码

所属分类: 软件编程 / C 语言 阅读数: 90
收藏 0 赞 0 分享
复制代码 代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int year, month, day;
const int day_30 = 30;
const int day_31 = 31;
int day_month_2 = 0;
char err_flag = 0;
void compute()
{
 printf("输入年月日(1992-7-19):");
 scanf("%d-%d-%d",&year, &month, &day);
 if((year%4==0 && year%100!=0) || (year%400==0))
 {
  day_month_2 = 29;
 }
 else
 {
  day_month_2 = 28;
 }
 if(month>=1 && month<=12)
 {
  if(month == 2)
  {
   if(day > day_month_2)
   {
    err_flag = 1;
   }
   else if(day == day_month_2)
   {
    month++;
    day = 1;
   }
   else
   {
    day++;
   }
  }
  else if(month==1 || month==3 || month==5 || month==7 ||\
    month==8 || month==10 || month==12)
  {
   if(day > day_31)
   {
    err_flag = 1;
   }
   else if(day == day_31)
   {
    month++;
    day = 1;
   }
   else
   {
    day++;
   }
  }
  else
  {
   if(day > day_30)
   {
    err_flag = 1;
   }
   else if(day == day_30)
   {
    month++;
    day = 1;
   }
   else
   {
    day++;
   }
  }
  if(month > 12)
  {
   year++;
   month = 1;
  }
 }
 else
 {
  err_flag = 1;
 }
}
int main()
{
 time_t now;
 char ch, c;
 char call_cal[30];
 do
 {
  compute();
  if(err_flag)
  {
   err_flag = 0;
   printf("日期输入错误,调用cal命令查询%d年%d月:\n\n",year, month);
   sprintf(call_cal, "/usr/bin/cal %d %d",month, year);
   system(call_cal);
   //system("clear");
   while((c=getchar())!='\n' && (c=getchar())!=EOF);
   printf("是否重新输入(y/n):");
  }
  else
  {
   printf("第二天为%d-%d-%d。\n",year, month, day);
   while((c=getchar())!='\n' && (c=getchar())!=EOF);
   printf("是否再次输入日期(y/n):");
  }
  ch = getchar();
 }
 while(ch=='y' || ch=='Y' || ch=='\n');
 time(&now);
 printf("Now is %s",ctime(&now));
 puts("Having a goodday!");
 return 0;
}
更多精彩内容其他人还在看

利用C语言来求最大连续子序列乘积的方法

这篇文章主要介绍了利用C语言来求最大连续子序列乘积的方法,基本的思路以外文中还附有相关ACM题目,需要的朋友可以参考下
收藏 0 赞 0 分享

用C语言判断一个二叉树是否为另一个的子结构

这篇文章主要介绍了用C语言判断一个二叉树是否为另一个的子结构,是数据结构学习当中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现的阶乘,排列和组合实例

这篇文章主要介绍了C语言实现的阶乘,排列和组合的方法,涉及C语言数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言查找数组里数字重复次数的方法

这篇文章主要介绍了C语言查找数组里数字重复次数的方法,涉及C语言针对数组的遍历与判断技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言简单实现计算字符个数的方法

这篇文章主要介绍了C语言简单实现计算字符个数的方法,涉及C语言针对字符串的简单遍历与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

c实现linux下的数据库备份

本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

C++获得文件状态信息的方法

这篇文章主要介绍了C++获得文件状态信息的方法,包括文件状态信息、文件所在磁盘盘符、文件创建时间、访问时间及修改日期等,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言按关键字搜索文件夹中文件的方法

这篇文章主要介绍了C语言按关键字搜索文件夹中文件的方法,涉及C语言文件操作及字符串查找的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言之字符串模糊查询方法的实现

本篇文章主要为大家介绍字符串模糊查询的C语言程序编写方法,有需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现BMP转换JPG的方法

这篇文章主要介绍了C语言实现BMP转换JPG的方法,涉及C#图片格式转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多