万年历c语言源程序.doc

上传人:asd****56 文档编号:70335141 上传时间:2023-01-19 格式:DOC 页数:13 大小:77.50KB
返回 下载 相关 举报
万年历c语言源程序.doc_第1页
第1页 / 共13页
万年历c语言源程序.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《万年历c语言源程序.doc》由会员分享,可在线阅读,更多相关《万年历c语言源程序.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、#include #include #include #include#include#include#include#include#define NULL 0CONSOLE_SCREEN_BUFFER_INFO csbiInfo;extern WINBASEAPI HWND WINAPI GetConsoleWindow();time_t T; struct tm * now; int min,sec;int hour,nowyear,nowmonth,nowday;void ti2()time ( &T ); now = localtime ( &T );hour=now-tm_hour

2、%12;min=now-tm_min-15;sec=now-tm_sec-15;void ti()time ( &T ); now = localtime ( &T );hour=now-tm_hour;min=now-tm_min;sec=now-tm_sec;nowyear=now-tm_year+1900;nowmonth=now-tm_mon+1;nowday=now-tm_mday; int yearbak=0;void clock_sz();int pd( int year);void huizs(int line_head_month);void hzdy(int year,in

3、t nowmonth_hz);void menu();void clear();int main(int argc, char* argv)int x=0;ti();clock_sz();hzdy(nowyear,nowmonth);menu();return 0;void clear()int i;HWND hwnd;HANDLE hOut;HDC hdc;HBRUSH hbr;COORD pos=1,4;hwnd=GetConsoleWindow();hdc = GetDC(hwnd);hOut = GetStdHandle(STD_OUTPUT_HANDLE);hbr= CreateSo

4、lidBrush(RGB(0,0,0);SelectObject(hdc,hbr);Rectangle(hdc,0,65,670,470);SetConsoleCursorPosition(hOut, pos);for(i=0;i10;i+)printf( n );SetConsoleCursorPosition(hOut, pos);Rectangle(hdc,0,65,670,470);ReleaseDC(hwnd, hdc);void menu()int year=0,xyear=0,x, xy=0,i ;struct reint top;int left;int right;int b

5、ottom;rt13;HWND hwnd;HDC hdc,dc;HBRUSH hbr;COORD pos3_1 = 1, 4,pos3_2= 1, 1,pos = 1, 4,pos2_3 = 1, 6,pos2_4 = 1, 7;INPUT_RECORD mouseRec;DWORD state = 0, res=0;POINT pt;HPEN pn;HANDLE hOut, hIn;hwnd=GetConsoleWindow();/得到控制台窗口句柄hdc = GetDC(hwnd); /得到画图设备句柄dc = GetDC(hwnd);/画刷hbr= CreateSolidBrush(RG

6、B(255,0,0);SelectObject(dc,hbr);for(rt1.left=20,i=2;i=12;i+)rti.left=rti-1.left+50;for(rt1.right=50,i=2;i=12;i+)rti.right=rti-1.right+50; /定位按钮for(i=0;i=12;i+)rti.top=40;for(i=0;i=12;i+)rti.bottom=60;hOut = GetStdHandle(STD_OUTPUT_HANDLE);hIn=GetStdHandle(STD_INPUT_HANDLE);pn=CreatePen(PS_SOLID,1,RG

7、B(255,0,255);GetClientRect(hwnd, &rt);SelectObject(hdc, pn);SetBkMode(hdc,TRANSPARENT);MoveToEx(hdc,1,35,NULL);LineTo(hdc,620,35);LineTo(hdc,620,62);LineTo(hdc,1,62);LineTo(hdc,1,35);pn=CreatePen(PS_SOLID,2,RGB(255,255,0);SelectObject(hdc, pn);MoveToEx(hdc,5,75,NULL);LineTo(hdc,45,75);hbr= CreateSol

8、idBrush(RGB(0,0,190);SelectObject(dc,hbr);for(i=1;i20& pt.xrt1.top & pt.yrt1.bottom)if(xyearrt2.left & pt.xrt2.top & pt.yrt2.bottom)if(xyearrt3.left & pt.xrt3.top & pt.yrt3.bottom)if(xyearrt4.left & pt.xrt4.top & pt.yrt4.bottom)if(xyearrt5.left & pt.xrt5.top & pt.yrt5.bottom)if(xyearrt6.left & pt.xr

9、t6.top & pt.yrt6.bottom)if(xyearrt7.left & pt.xrt7.top & pt.yrt7.bottom)if(xyearrt8.left & pt.xrt8.top & pt.yrt8.bottom)if(xyearrt9.left & pt.xrt9.top & pt.yrt9.bottom)if(xyearrt10.left & pt.xrt10.top & pt.yrt10.bottom)if(xyearrt11.left & pt.xrt11.top & pt.y=1&year!=0)clear();yearbak=year;SetConsole

10、CursorPosition(hOut, pos3_2);printf(公元%d年,yearbak);SetConsoleCursorPosition(hOut, pos3_1);for(i=1;i=6;i+=3)huizs(i);x=MessageBox(NULL,是否显示后六个月?, 提示,MB_YESNO);if(x=6) SetConsoleTextAttribute(hOut, 14);clear();for(i=7;irt12.left & pt.xrt12.top & pt.yrt12.bottom)xyear=0;year=0;clear();clock_sz();hzdy(n

11、owyear,nowmonth);pn=CreatePen(PS_SOLID,2,RGB(255,255,0);SelectObject(hdc, pn);/选画笔MoveToEx(hdc,5,75,NULL);LineTo(hdc,45,75);SetConsoleCursorPosition(hOut, pos);continue;ReleaseDC(hwnd,hdc);int pd( int year)int pr=0;if(year%100=0)&(year%400=0)pr=1;else if(year%4=0&year%100!=0)pr=1;else pr=0;return pr

12、;void huizs(int line_head_month)int i=0,j=0,k=0,month=0,n=0,daysum=0,jlw=0;int monthhead13=0,mlt3=1,1,1;int endline=0,test=0;int year=0;year=yearbak;for(i=1;iyear;i+)if(pd(i)daysum+=366;else daysum+=365;j=daysum%7;monthhead0=j;for(month=1;month=12;month+)if(pd(year)&month=2) n=29;else if(pd(year)=0&

13、month=2) n=28;else if(month=4|month=6|month=9|month=11) n=30;else n=31;monthheadmonth=(monthheadmonth-1+n)%7;while(test=5)for(month=line_head_month;month=(line_head_month+2);month+)if(month%3=1&endline=0)printf(t%d月ttt%d月 %d月n,month,month+1,month+2);printf(一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日n)

14、;if(endline=0)for(k=0;kmonthheadmonth-1;k+)printf( );j=monthheadmonth-1;if(endline=0) i=1;else i=mltmonth-1;for(;jn) for(k=0;k7-j;k+)printf( );break;printf(%-3.0d,i);printf( );mltmonth-1=i;if(month%3=0) printf(n);endline=1;j=0;test+;void hzdy(int year,int nowmonth_hz)int i=0,j=0,k=0,month=0,n=0,days

15、um=0,jlw=0;int monthhead13=0,mlt3=1,1,1;int endline=0,test=0;for(i=1;iyear;i+)if(pd(i)daysum+=366;else daysum+=365;j=daysum%7;monthhead0=j;for(month=1;month=12;month+)if(pd(year)&month=2) n=29;else if(pd(year)=0&month=2) n=28;/平年else if(month=4|month=6|month=9|month=11) n=30;else n=31;monthheadmonth

16、=(monthheadmonth-1+n)%7;if(pd(year)&nowmonth_hz=2) n=29;/闰年else if(pd(year)=0&nowmonth_hz=2) n=28;/平年else if(nowmonth_hz=4|nowmonth_hz=6|nowmonth_hz=9|nowmonth_hz=11) n=30;/4,6,9,11月else n=31;printf(nnnnnnnn 当前时间:%d年%d月%d日%d时%d分nn,nowyear,nowmonth,nowday,hour,min);printf(t一 二 三 四 五 六 日nt);for(k=0;km

17、onthheadnowmonth_hz-1;k+)printf( );j=monthheadnowmonth_hz-1;for(i=1;i=n;i+,j+)if(j=7)printf(nt);j=0;printf(%-3.0d,i);printf(n);void clock_sz()float a,b,c;float x=0,y=0,ex=100,ey=160,radian=0,oldx,oldy,radius=90;float mx=0,my=0,oldmx,oldmy,mradius=40;float hx=0,hy=0,oldhx,oldhy,hradius=20;int kd_r1,k

18、d_r2,kd_radius=170,kd_radius1,old_kd_x,old_kd_y,kd_radian=0,k=0,q=0,oldk,oldq;HWND hwnd;HANDLE hOut;HDC hdc;COLORREF C1=RGB(0,0,0),C2=RGB(0,0,0);HBRUSH hbr,hbr1,hbr2;HPEN hpn,gpn,rpn,ppn2,ypn,bpn,kdpn,rkdpn,dotpn,blue,black,blkdpn,pkdpn,hpn2;hwnd=GetConsoleWindow();hdc = GetDC(hwnd); hOut = GetStdHa

19、ndle(STD_OUTPUT_HANDLE);hbr= CreateSolidBrush(RGB(0,100,0);hbr1= CreateSolidBrush(C1);hbr2= CreateSolidBrush(RGB(0,0,150);hpn2=CreatePen(PS_SOLID,1,RGB(255,0,0);rpn=CreatePen(PS_SOLID,1,RGB(255,0,0);ppn2=CreatePen(PS_SOLID,3,RGB(255,255,0);hpn=CreatePen(PS_SOLID,1,RGB(0,255,255);blue=CreatePen(PS_SO

20、LID,3,RGB(0,0,255);bpn=CreatePen(PS_SOLID,1,RGB(255,255,255);gpn=CreatePen(PS_SOLID,2,RGB(0,255,0);pkdpn=CreatePen(PS_SOLID,3,RGB(0,255,255);kdpn=CreatePen(PS_SOLID,1,RGB(255,255,0);rkdpn=CreatePen(PS_SOLID,4,RGB(255,0,0);blkdpn=CreatePen(PS_SOLID,6,RGB(0,0,0);black=CreatePen(PS_SOLID,4,C1);ex=400;/

21、时钟圆心位置ey=230;while(kd_radian=360)if(kd_radian%5=0)if(kd_radian%90=0)kd_radius=130;SelectObject(hdc,rkdpn);elsekd_radius=125;SelectObject(hdc,pkdpn);elsekd_radius=130;SelectObject(hdc, kdpn);kd_radius1=120;y=kd_radius*sin(kd_radian/180.0*3.14);x=kd_radius*cos(kd_radian/180.0*3.14);MoveToEx(hdc,ex,ey,

22、NULL);LineTo(hdc,ex+x,ey+y);y=kd_radius1*sin(kd_radian/180.0*3.14);x=kd_radius1*cos(kd_radian/180.0*3.14);old_kd_x=x;old_kd_y=y;SelectObject(hdc,blkdpn);MoveToEx(hdc,ex,ey,NULL);LineTo(hdc,ex+old_kd_x,ey+old_kd_y);kd_radian+=6;SetTextColor(hdc,RGB(0,255,0);SetBkColor(hdc,RGB(0,0,0);TextOut(hdc,ex+kd

23、_radius+8,ey-7,TEXT(3),1);TextOut(hdc,ex-4,ey+kd_radius+3,TEXT(6),1);TextOut(hdc,ex-kd_radius-15,ey-5,TEXT(9),1);TextOut(hdc,ex-7,ey-kd_radius-18,TEXT(12),2);radius=110;mradius=90;/分针半径hradius=70;/时针半径x=0,y=0;radian=0;SetTextColor(hdc,RGB(0,255,225);/设颜色SetBkColor(hdc,RGB(0,0,0);/设颜色ti2();a=sec*6/18

24、0.0*3.14;b=min*6/180.0*3.14;c=(hour*30.0-90.0+(min+15)/2.0)/180.0*3.14;SetTextColor(hdc,RGB(0,255,255);my=mradius*sin(b);mx=mradius*cos(b);SelectObject(hdc, gpn);MoveToEx(hdc,ex,ey,NULL);LineTo(hdc,ex+mx,ey+my);LineTo(hdc,ex+mx,ey+my);hy=hradius*sin(c);hx=hradius*cos(c);SelectObject(hdc, blue);MoveToEx(hdc,ex,ey,NULL);LineTo(hdc,ex+hx,ey+hy);ReleaseDC(hwnd, hdc);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com