C语言小程序(二)、计算第二天日期
输入一个日期,判断下一个日期是哪一天,如果日期输入错误,则调用Linux下的cal命令显示输入的月份。
#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语言小程序以及java生成注释文档方法
c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号 ...
- C语言小程序——推箱子(窄字符和宽字符)
C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...
- php生成微信小程序二维码源码
目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取 access_token public function getWxAccessToken(){ $appid ...
- 微信小程序二维码推广统计
微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...
- 通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
- node 无脑生成小程序二维码图
RT 新建createwxaqrcode.js: const request = require('request') const fs = require('fs') // eg:生成购物车列表圆形 ...
- Linux C语言小程序
Linux C语言小程序 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...
- 微信小程序-二维码汇总
小程序二维码在生活中的应用场景很多,比如营销类一物一码,扫码开门,扫码付款等...小程序二维码分两种? 1.普通链接二维码 即跟普通的网站链接生成的二维码是一个意思,这种二维码的局限性如下: 对于普通 ...
- 小程序二维码生成接口API
获取小程序码 我们推荐生成并使用小程序码,它具有更好的辨识度.目前有两个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口. 接口A: 适用于需要的码数量较少的业务场景 接口地址: http ...
随机推荐
- 驱动程序分层分离概念_总线驱动设备模型_P
分层概念: 驱动程序向上注册的原理: 比如:输入子程序一个input.c作为一层,下层为Dev.c和Dir.c,分别编写Dev.c和Dir.c向上Input.c注册:如图所示 分离概念: 分离概念主要 ...
- apache常用模块介绍
mod_actions 基于媒体类型或请求方法,为执行CGI脚本而提供 mod_alias 提供从文件系统的不同部分到文档树的映射和URL重定向 mod_asis 发送自己包含HTTP头内容的文件 ...
- html5 (新一代的html)
简介 h5的新特性: cavas / video / audio / cache / element / form 最小的h5文档: <!DOCTYPE html> <html> ...
- lua2json
lua对象json序列化,很简单,没做中文的unicode编码了 local function bool2json(v) return v and "true" or " ...
- 我的Android进阶之旅------>android中getLocationInWindow 和 getLocationOnScreen的区别
View.getLocationInWindow(int[] location) 一个控件在其父窗口中的坐标位置 View.getLocationOnScreen(int[] location) 一个 ...
- 【Android】开源项目汇总
Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progres ...
- 从springmvc启动日志学习
javaee标准中,tomcat等web容器启动时走web.xml 先将各种contex-param 放到servletcontxt中变成parameter,然后开始启动容器,容器对外提供了liste ...
- Docker的前世今生
核心知识点: 1.Docker的构想:对应用的封装.分发.部署.运行的生命周期的管理,一次封装到处运行 2.Docker的优点:一站式解决方案 3.Docker由LXC演变而来,迟迟没有集成到Linu ...
- 阿里云 rails nginx 配置https访问
1.申请免费型dv ssl证书:https://common-buy.aliyun.com/?spm=a2c4e.11155515.0.0.7zzvOZ&commodityCode=cas#/ ...
- yii 资料
https://github.com/forecho/awesome-yii2 会随时更新 链接:http://pan.baidu.com/s/1mgCKtUK 密码:t6t1 与<YII框架& ...