C语言版的日历
来源:互联网 发布:博奥软件下载 编辑:程序博客网 时间:2024/04/29 14:24
效果展示
代码
#include<stdio.h>#include<windows.h>#include<conio.h>#define KEYNUMUp 0x48#define KEYNUMDown 0x50 #define KEYNUMLeft 0x4b #define KEYNUMRight 0x4d#define KEYNUMPageUp 0x49 #define KEYNUMPageDown 0x51int MonthOfYear[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};void PrintCalender(int iyear,int imonth);int CheckYear(int y);int main(){ int year,month; int k,i; char ch='y'; printf("请输入年份(0000-9999):\n"); scanf("%d",&year); printf("请输入月份(1-12):\n"); scanf("%d",&month); PrintCalender(year,month); for(i=0;ch=='y';i++) { printf("%c",24); printf(":上一年\n"); printf("%c",25); printf(":下一年\n"); printf("%c",27); printf(":上一月\n"); printf("%c",26); printf(":下一月\n"); getch(); k=getch(); switch(k) { case KEYNUMUp: { system("cls"); year--; PrintCalender(year,month); printf("是否继续更改?(y/n)"); getchar(); scanf("%c",&ch); break; } case KEYNUMDown: { system("cls"); year++; PrintCalender(year,month); printf("是否继续更改?(y/n)"); getchar(); scanf("%c",&ch); break; } case KEYNUMLeft: { system("cls"); month--; PrintCalender(year,month); printf("是否继续更改?(y/n)"); getchar(); scanf("%c",&ch); break; } case KEYNUMRight: { system("cls"); month++; PrintCalender(year,month); printf("是否继续更改?(y/n)"); getchar(); scanf("%c",&ch); break; } } }}void PrintCalender(int iyear,int imonth){ int sumday=0,w,i,nowday=1,n; char wday[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; for(i=0;i<imonth-1;i++) sumday+=MonthOfYear[CheckYear(iyear)][i]; sumday++; sumday+=(iyear-1+(iyear-1)/4-(iyear-1)/100+(iyear-1)/400); w=sumday%7; printf("%d",w); printf(" %d 年 %d 月 \n",iyear,imonth); //system("pause"); printf("%15c",' '); for(i=0;i<7;i++) printf("%5s",wday[i]); printf("\n"); switch(w) { case 0:printf("%20d",nowday);break; case 1:printf("%25d",nowday);break; case 2:printf("%30d",nowday);break; case 3:printf("%35d",nowday);break; case 4:printf("%40d",nowday);break; case 5:printf("%45d",nowday);break; case 6:printf("%50d",nowday);break; } if(w==6) printf("\n%15c",' '); n=MonthOfYear[CheckYear(iyear)][imonth-1]; for(i=1;i<=n;i++) { sumday+=1; w=sumday%7; //printf("%d",w); nowday++; if(nowday>n) break; if(w==6) { printf("%5d",nowday); printf("\n"); printf("%15c",' '); } else printf("%5d",nowday); } printf("\n");}int CheckYear(int y){ if(y%400==0||y%4==0&&y%100!=0) return 1; else return 0;}
0 0
- C语言版的日历
- 日历C语言版
- 单链表的操作C语言版
- 简单的hookapi C语言版
- C语言版随机数的生成
- c++:日历的实现
- 线性规划的源程序(c语言版)
- 看过C语言版的贪食蛇程序
- C语言版的线性回归分析函数
- bnu1257 全能的福娃 C语言版
- bnu1262 水管工人的烦恼 C语言版
- bnu1267 69路的故事 C语言版
- bnu1273 素素的困惑 C语言版
- bnu1281 忙乱的活动 C语言版
- bnu1283 缺考的学生 C语言版
- bnu1290 找自己的伙伴 C语言版
- bnu1295 BNUEP的风云人物 C语言版
- bnu1298 BNUEP的火炬手 C语言版
- UVA - 11992 —— Fast Matrix Operations 【二维线段树转一维】
- POJ - 2528 - Mayor's posters 【线段树+离散化+补点】
- POJ - 3225 - Help with Intervals 【区间的并、交、差、对称差】
- HDU 1542 —— Atlantis 【矩形面积并:扫描线】
- linux————find的一些简单命令
- C语言版的日历
- java之Intager比较
- 炫酷的miniblink demo已上传,基于bracket
- 网络黑客攻防学习平台之选择题
- hdu 3183 A Magic Lamp
- 动态规划——problem n
- 良好第一印象送你大好前程
- openstack-ha部署文档
- 八、三个修饰符