使用C语言实现日历显示,下面是windows和Linux的代码

1、windows版

#ifdef _WIN32

#define _CRT_SECURE_NO_WARNINGS

#endif

#include

/*判断输入的年份是否为闰年

**参数说明:year,要判断的年份

**返回值 1:是闰年,0:不是闰年

*/

int Isleap(int year)

{

if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))

return 1;

else

return 0;

}

/*判断输入年份二月份的天数

**参数说明:year,要判断的年份;month,要判断的月份

**返回值:Day[month-1],上个月(month-1)的天数

*/

int Max_day(int year, int month)

{

int Day[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

if (Isleap(year) == 1)

Day[1] = 29;

return Day[month - 1];

}

/*计算输入的日期是这一年的多少天

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:sum,输入的日期是这一年的多少天

*/

int Total_day(int year, int month, int day)

{

int sum = 0;

int i = 1;

for (i = 1; i < month; i++)

sum = sum + Max_day(year, i);

sum = sum + day;

return sum;

}

/*由输入的日期判断当天是星期几

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:count,0~6,分别表示星期日~星期六

*/

int Weekday(int year, int month, int day)

{

int count;

count = (year - 1) + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 + Total_day(year, month, day);

count = count % 7;

return count;

}

/*显示输入的日期是星期几

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:无

*/

void display_week(int year, int month, int day)

{

int count;

count = Weekday(year, month, day);

switch (count)

{

case 0:printf("\t%d-%d-%d is Sunday\n", year, month, day); break;

case 1:printf("\t%d-%d-%d is Monday\n", year, month, day); break;

case 2:printf("\t%d-%d-%d is Tuesday\n", year, month, day); break;

case 3:printf("\t%d-%d-%d is Wednesday\n", year, month, day); break;

case 4:printf("\t%d-%d-%d is Thursday\n", year, month, day); break;

case 5:printf("\t%d-%d-%d is Friday\n", year, month, day); break;

case 6:printf("\t%d-%d-%d is Saturday\n", year, month, day); break;

default: system("cls"); printf("error\n");

}

}

/*显示输入的日期的当月日历

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:无

*/

void display_month(int year, int month, int day)

{

int i = 0, j = 1;

int week, max;

week = Weekday(year, month, 1); //由每月1号确定打印制表符的个数

max = Max_day(year, month);

printf("\n\t\t\t%d年%d月", year, month);

printf("\n\tSUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT\n");

for (i = 0; i < week; i++)

printf("\t");

for (j = 1; j <= max; j++)

{

printf("\t%d", j);

if (i % 7 == 6)

printf("\n");

i++;

}

printf("\n");

}

int main()

{

int year, month, day;

printf("\tplease enter year,month,day: ");

scanf("%d,%d,%d", &year, &month, &day);

if (month<1 || month>12 || day<1 || day>31)

{

printf("error...\n");

return -1;

}

printf(" \t%d年%d月%d日是这一年的第%d天\n\ ", year, month, day, Total_day(year, month, day));

display_week(year, month, day);

display_month(year, month, day);

return 0;

}

运行结果:

2、Linux版本

#include

/*判断输入的年份是否为闰年

**参数说明:year,要判断的年份

**返回值 1:是闰年,0:不是闰年

*/

int Isleap(int year)

{

if( (year%400==0)||((year%4==0)&&(year%100!=0)) )

return 1;

else

return 0;

}

/*判断输入年份二月份的天数

**参数说明:year,要判断的年份;month,要判断的月份

**返回值:Day[month-1],上个月(month-1)的天数

*/

int Max_day(int year, int month)

{

int Day[12]={31,28,31,30,31,30,31,31,30,31,30,31};

if(Isleap(year)==1)

Day[1]=29;

return Day[month-1];

}

/*计算输入的日期是这一年的多少天

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:sum,输入的日期是这一年的多少天

*/

int Total_day(int year, int month ,int day)

{

int sum=0;

int i=1;

for(i=1;i

sum=sum+Max_day(year,i);

sum=sum+day;

return sum;

}

/*由输入的日期判断当天是星期几

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:count,0~6,分别表示星期日~星期六

*/

int Weekday(int year, int month ,int day)

{

int count;

count=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400 +Total_day(year,month,day);

count=count%7;

return count;

}

/*显示输入的日期是星期几

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:无

*/

void display_week(int year, int month , int day)

{

int count;

count=Weekday(year,month,day);

switch(count)

{

case 0:printf("\033[32m\t%d-%d-%d is Sunday\n\033[0m",year,month,day);break;

case 1:printf("\033[32m\t%d-%d-%d is Monday\n\033[0m",year,month,day);break;

case 2:printf("\033[32m\t%d-%d-%d is Tuesday\n\033[0m",year,month,day);break;

case 3:printf("\033[32m\t%d-%d-%d is Wednesday\n\033[0m",year,month,day);break;

case 4:printf("\033[32m\t%d-%d-%d is Thursday\n\033[0m",year,month,day);break;

case 5:printf("\033[32m\t%d-%d-%d is Friday\n\033[0m",year,month,day);break;

case 6:printf("\033[32m\t%d-%d-%d is Saturday\n\033[0m",year,month,day);break;

default: system("cls");printf("error\n");

}

}

/*显示输入的日期的当月日历

**参数说明:year,month,day 分别为输入的年、月、日

**返回值:无

*/

void display_month(int year, int month, int day)

{

int i=0,j=1;

int week,max;

week=Weekday(year,month,1); //由每月1号确定打印制表符的个数

max=Max_day(year,month);

printf("\033[34m\n\t\t\t%d年%d月\033[0m",year,month);

printf("\033[31m\n\tSUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT\n\033[0m");

for(i=0;i

printf("\t");

for(j=1;j<=max;j++)

{

printf("\t%d",j);

if(i%7==6)

printf("\n");

i++;

}

printf("\n");

}

int main()

{

int year,month,day;

printf("\tplease enter year,month,day: ");

scanf("%d,%d,%d",&year,&month,&day);

if(month<1||month>12||day<1||day>31)

{

printf("error...\n");

return -1;

}

printf("\033[32m\t%d年%d月%d日是这一年的第%d天\n\033[0m",year,month,day,Total_day(year,month,day));

display_week(year,month,day);

display_month(year,month,day);

return 0;

}

运行结果:

c语言日历显示系统,C语言实现显示日历相关推荐

  1. c语言编程票务系统,C语言课程设计票务管理系统

    C语言课程设计票务管理系统 C语言课程设计1西安交通大学城市学院C语言程序设计课程设计报告题目图书信息管理系统专业自动化班级自动化101姓名陈蕾完成日期2012年5月31日C语言课程设计2目录第一章项 ...

  2. 航班编程代码c语言,航班查询系统C语言源程序

    <航班查询系统C语言源程序>由会员分享,可在线阅读,更多相关<航班查询系统C语言源程序(8页珍藏版)>请在人人文库网上搜索. 1.include #include #inclu ...

  3. linux查看系统编码/语言和修改系统编码/语言的方法

    1.查看字符编码和语言 使用 locale 命令,语言是en_US(英语_美式),编码是UTF-8 2.修改字符编码和语言 对应配置文件 centos7  修改文件 /etc/locale.conf ...

  4. android 系统语言切换,Android系统切换语言更新应用界面方法

    最近做的一个升级应用,在下载升级包的过程中又有一个toast类型的dialog悬浮在屏幕右上角,这个时候切换系统语言会出现问题. 当主屏幕为升级应用时,切换系统语言升级应用重启,而重启后并不能自动断点 ...

  5. c语言试题生成系统,C语言在线考试系统——试题生成模块.doc

    C语言在线考试系统--试题生成模块 PAGE 15摘要现如今,我们生活在信息大爆炸的时代,网络信息的应用已经进入我们的生活的各方各面.尤其在网络教学中,网上在线考试系统在其中扮演了重要的角色,相比于传 ...

  6. 仓库管理系统c++语言,仓库管理系统(c++语言编写).doc

    仓库管理系统(c语言编写) #include #include #include typedef struct node { long sno; /*商品编号*/ char sname[10]; /* ...

  7. 日历查询系统c语言1,C语言 日历查询系统 成品

    #include #include #include //#include #include #include int isleapyear(int year) //判断该年是 闰年 还是 平年 { ...

  8. C语言编译构建系统,C语言 之建立静态链接库

    下面说一下建立静态链接库的方法 各个C语言编程软件都有它的方法,比如建立一个工程来共享文件,这就比较容易和简单了,现在我们选择使用难一点的linux系统,探究在linux系统下的建立静态链接库的方法. ...

  9. c语言写考勤系统,C语言课程设计学生考勤系统

    <C语言课程设计学生考勤系统.doc>由会员分享,可免费在线阅读全文,更多与<C语言课程设计学生考勤系统>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  10. 用c语言银行队列系统,C语言学习之用队列实现银行排队系统

    队列操作的接口:http://blog..net/qlx846852708/article/details/43666927 数据结构C语言实现:http://blog..net/qlx8468527 ...

最新文章

  1. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性
  2. docker 安装nginx_docker安装nginx搭建简单文件共享服务
  3. 学习笔记:杨辉三角形上莫队(组合数莫队)(LULU胡策)
  4. 把JS和CSS合并到1个文件
  5. 学了python能干啥举例-第9p,Python是什么?学了Python能干什么?
  6. 【二 HTTP编程】2. HTTP路由
  7. 地壳中元素含量排名记忆口诀_地壳中含量最多的元素--氧元素
  8. 中国软件三季度业绩预测,中国软件股票趋势预测
  9. Apizza 在线Api接口测试工具
  10. Java丨策略模式丨模拟充值Q币
  11. 【C语言】扫雷游戏(包含递归展开、手自动标记功能)
  12. java 时钟_Java的指针时钟
  13. 免费节假日API第一时间更新2019年节假日放假安排 可怜的五一
  14. java中13%(-3)_Java13版本特性【一文了解】
  15. 企业WiFi认证 保护企业的信息
  16. 《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案
  17. 什么!FPS难道不是越高越好吗?
  18. SAS:字符串常用函数简介
  19. 用c++实现贪吃蛇小游戏,初学者记录一下首次实现的经历,有超详细的思路与语法讲解,新手向
  20. 画质超高的仙侠java游戏_画质超高的游戏有哪些?顶级画质大型游戏盘点

热门文章

  1. CI和Smarty整合并且前后台加载不同配置文件使前台应用Smarty缓存后台不应用
  2. 给class类加css样式,addClass()
  3. 如何删除在System中打开的iso文件
  4. 12款自动化软件测试工具,你用过哪些?
  5. 【转】如何设置服务器网卡千兆变万兆
  6. script什么意思中文翻译成,script的中文意思是什么
  7. html 图片比例 js,JavaScript,等比例缩放图片的函数
  8. 自动化装配流水线转载运输机,3D图纸。图纸stp格式1g大小零件齐全
  9. 服务器显示checkin,CheckIn 方法 - Microsoft Word Visual Basic 参考
  10. 利用持续同调在基于深度学习的分割框架中引入显式的拓扑学约束