Discuz! Board

 找回密码
 立即注册
查看: 328|回复: 0

10.20 时钟

[复制链接]

54

主题

66

帖子

574

积分

高级会员

Rank: 4

积分
574
发表于 2022-10-20 19:16:35 | 显示全部楼层 |阅读模式
  1. <div class="blockcode"><blockquote>#include <bits/stdc++.h>
  2. #include <conio.h>
  3. #include <windows.h>
  4. using namespace std;
  5. char ch;

  6. void gotoxy(HANDLE hout, int x, int y){
  7.   COORD pos;
  8.   pos.X = x;
  9.   pos.Y = y;
  10.   SetConsoleCursorPosition(hout, pos);
  11. };

  12. struct a
  13. {
  14.     int hou,min,sec,day,yea,mon;
  15.     string wee;
  16. }b;
  17. int t1=0;
  18. int i[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,
  19.               31,29,31,30,31,30,31,31,30,31,30,31};
  20. int rn(int t)
  21. {
  22.     int t1;
  23.     if (t % 4 == 0)
  24.     {
  25.         if (t % 100 == 0)
  26.         {
  27.             if (t % 400 == 0)
  28.                 t1=1;
  29.             else
  30.                 t1=0;
  31.         }
  32.         else
  33.             t1=1;
  34.     }
  35.     else
  36.         t1=0;
  37.     return t1;
  38. }
  39. string CaculateWeekDay(int y,int m, int d)
  40. {
  41.         string w;
  42.     if(m==1||m==2) {
  43.         m+=12;
  44.         y--;
  45.     }
  46.     int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
  47.     switch(iWeek)
  48.     {
  49.         case 0: w="星期一"; break;
  50.         case 1: w="星期二"; break;
  51.         case 2: w="星期三"; break;
  52.         case 3: w="星期四"; break;
  53.         case 4: w="星期五"; break;
  54.         case 5: w="星期六"; break;
  55.         case 6: w="星期日"; break;
  56.     }
  57.     return w;
  58. }
  59. int main(){
  60.         HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
  61.     rn(b.yea);
  62.     here:
  63.             b.wee=CaculateWeekDay(b.yea,b.mon,b.day);
  64.                 if(kbhit()){
  65.                     ch=getch();
  66.                     if(ch='w')
  67.                         {
  68.                         cout<<"this is w"<<'\n';
  69.                     }
  70.                 }
  71.         system("color 0E");
  72.         if(b.sec==60){
  73.             b.sec=0;
  74.             b.min+=1;
  75.         }
  76.         if(b.min==60){
  77.             b.min=0;
  78.             b.hou+=1;
  79.         }
  80.         if(b.hou==24){
  81.             b.hou=0;
  82.             b.day+=1;
  83.         }
  84.         if(b.day==i[rn(b.yea)][b.mon-1]+1){
  85.             b.day=1;
  86.             b.mon+=1;
  87.         }
  88.         if(b.mon==12){
  89.             b.mon=0;
  90.             b.yea+=1;
  91.         }
  92.         cout<<setw(4)<<b.yea<<"年  "<<setw(2)<<b.mon<<"月"<<"  "<<setw(2)<<b.day<<"号"<<"  "<<b.wee<<"  "<<setw(2)<<b.hou<<":"<<setw(2)<<b.min<<":"<<setw(2)<<b.sec<<endl;
  93.         Sleep(1000);
  94.         b.sec+=1;
  95.         if(kbhit()){
  96.                     ch=getch();
  97.                     if(ch='w')
  98.                         {
  99.                         cout<<"     ";
  100.                         gotoxy(hout,0,0);
  101.                         cin>>b.yea;
  102.                         gotoxy(hout,8,0);
  103.                         cout<<"  ";
  104.                         gotoxy(hout,8,0);
  105.                         cin>>b.mon;
  106.                         gotoxy(hout,14,0);
  107.                         cout<<"  ";
  108.                         gotoxy(hout,14,0);
  109.                         cin>>b.day;
  110.                         gotoxy(hout,22,0);
  111.                         cout<<"  ";
  112.                         gotoxy(hout,22,0);
  113.                         cin>>b.hou;
  114.                         gotoxy(hout,26,0);
  115.                         cout<<"  ";
  116.                         gotoxy(hout,26,0);
  117.                         cin>>b.min;
  118.                         gotoxy(hout,29,0);
  119.                         cout<<"  ";
  120.                         gotoxy(hout,29,0);
  121.                         cin>>b.sec;
  122.                     }
  123.                 }
  124.                
  125.                
  126.                 system("cls");
  127.         goto here;
  128.     return 0;
  129. }
复制代码
  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. using namespace std;
  4. struct a
  5. {
  6.     int hou,min,sec,day,yea,mon;
  7.     string wee;
  8. }b;
  9. int t1=0;
  10. int i[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,
  11.               31,29,31,30,31,30,31,31,30,31,30,31};
  12. int rn(int t)
  13. {
  14.     int t1;
  15.     if (t % 4 == 0)
  16.     {
  17.         if (t % 100 == 0)
  18.         {
  19.             if (t % 400 == 0)
  20.                 t1=1;
  21.             else
  22.                 t1=0;
  23.         }
  24.         else
  25.             t1=1;
  26.     }
  27.     else
  28.         t1=0;
  29.     return t1;
  30. }
  31. string CaculateWeekDay(int y,int m, int d)
  32. {
  33.         string w;
  34.     if(m==1||m==2) {
  35.         m+=12;
  36.         y--;
  37.     }
  38.     int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
  39.     switch(iWeek)
  40.     {
  41.         case 0: w="星期一"; break;
  42.         case 1: w="星期二"; break;
  43.         case 2: w="星期三"; break;
  44.         case 3: w="星期四"; break;
  45.         case 4: w="星期五"; break;
  46.         case 5: w="星期六"; break;
  47.         case 6: w="星期日"; break;
  48.     }
  49.     return w;
  50. }
  51. int main(){
  52.     time_t t = time(NULL);
  53.     tm *pt = localtime(&t);
  54.     b.yea = pt->tm_year+1900;
  55.     b.mon = pt->tm_mon+1;
  56.     b.day = pt->tm_mday;
  57.     b.hou = pt->tm_hour;
  58.     b.min = pt->tm_min;
  59.     b.sec = pt->tm_sec;
  60.     rn(b.yea);
  61.     here:
  62.                 b.wee=CaculateWeekDay(b.yea,b.mon,b.day);
  63.         system("color 0E");
  64.         if(b.sec==60){
  65.             b.sec=0;
  66.             b.min+=1;
  67.         }
  68.         if(b.min==60){
  69.             b.min=0;
  70.             b.hou+=1;
  71.         }
  72.         if(b.hou==24){
  73.             b.hou=0;
  74.             b.day+=1;
  75.         }
  76.         if(b.day==i[rn(b.yea)][b.mon-1]+1){
  77.             b.day=1;
  78.             b.mon+=1;
  79.         }
  80.         if(b.mon==12){
  81.             b.mon=0;
  82.             b.yea+=1;
  83.         }
  84.         cout<<setw(4)<<b.yea<<"年  "<<setw(2)<<b.mon<<"月"<<"  "<<setw(2)<<b.day<<"号"<<"  "<<b.wee<<"  "<<setw(2)<<b.hou<<":"<<setw(2)<<b.min<<":"<<setw(2)<<b.sec<<endl;
  85.         Sleep(1000);
  86.         b.sec+=1;
  87.         system("cls");
  88.         goto here;
  89.     return 0;
  90. }
  91. while(1)
  92.         {
  93.                 if(kbhit()){
  94.                     ch=getch();
  95.                     if(ch='w')
  96.                         {
  97.                         cout<<"this is w"<<'\n';
  98.                     }
  99.                 }
  100.         }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-13 16:03 , Processed in 0.056109 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表