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 ...
随机推荐
- 基于jquery的bootstrap在线文本编辑器插件Summernote (转)
Summernote是一个基于jquery的bootstrap超级简单WYSIWYG在线编辑器.Summernote非常的轻量级,大小只有30KB,支持Safari,Chrome,Firefox.Op ...
- hive深入使用
Hive表的创建和数据类型 https://cwiki.apache.org/confluence/display/Hive/Home 管理表和外部的区别 # 管理表 1. 内部表也称之为MANAGE ...
- Dubbo,ZooKeeper,Redis,FastDFS,ActiveMQ,Keepalived,Nginx,Hudson
获取[下载地址] QQ: 313596790 [免费支持更新] 三大数据库 mysql oracle sqlsever 更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手 ...
- ubuntu 安装vagrant过程
Ubuntu安装vagrant时需要首先安装virtualBox. Step1: 在https://www.virtualbox.org/wiki/Linux_Downloads 下载ubuntu对应 ...
- setTimeout解决循环值的几种方法
for(var i=0;i<5;i++){ setTimeout(function(){ console.log(`错误 ${i}`); },0) } for(var i=0;i<5;i+ ...
- afinal 文件上传、下载、图片加载实例
// Afinal框架讲解 public class AfinalActivity extends FinalActivity { @ViewInject(id=R.id.bt_afinal_load ...
- Java InetAddress.getByAddress()的使用
import java.net.*; public class NetDemo { public static void main(String[] args) throws Exception{ S ...
- zookeeper 实战案例分享:cruator客户端编程
上两篇介绍了zookeeper服务器端的安装和配置,今天分享下利用zookeeper客户端编程来实现配置文件的统一管理,包括文件添加.删除.更新的同步. 比如,连接数据库信息的配置文件,一般每个应用服 ...
- Delphi 函数的重载和作用域
1.在delphi 中,我们可以使用相同的函数名来调用不同的函数,我们称这个函数为重载,函数的参数类型和参数的个数可以不同,用到的关键字overload:格式如下: function addInt(x ...
- NGINX中遇到SELinux 13:permission denied
被selinux坑了.抓包发现端口始终没有流量, 操作过程中还特地dmesg看了c并没发现selinux的异常. https://www.nginx.com/blog/using-nginx-plus ...