博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++课程设计(日历)
阅读量:6609 次
发布时间:2019-06-24

本文共 3107 字,大约阅读时间需要 10 分钟。

今天比较无聊,就随便找了个程序设计来做,下面是源代码,以及效果图...不喜请喷! /*题目1:年历显示。功能要求:(1)    输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)    输入年月,输出该月的日历。(3)    输入年月日,输出距今天还有多少天,星期几,是否是公历节日。*/
1 //日历  2 // Coder @Gxjun 2014/3/30/10:35  3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 namespace isprimer 9 { 10 int ren[13]={
0,31,60,91,131,162,192,223,254,284,315,335,366} ; //是闰年 11 int pin[13]={
0,31,59,90,130,161,191,222,253,283,314,334,365} ; 12 } 13 namespace mon 14 { 15 int ren_month[13]={
0,31,29,31,30,31,30,31,31,30,31,30,31}; 16 int pin_month[13]={
0,31,28,31,30,31,30,31,31,30,31,30,31}; 17 } 18 bool isprim(int year) 19 { 20 if(year%400==0||(year%4==0&&year%100!=0)) 21 return true; 22 return false; 23 } 24 void print(int month,int weekly,int tol_day) 25 { 26 27 int k=1; 28 cout.width(3); 29 cout<
<<" SUN MON TUE WED THU FRI SAT"<
tm_year+=1900; 69 t->tm_mon+=1; 70 cout<<"今天的时间为:"<
tm_year<<" 年 "; 71 cout<
tm_mon<<" 月 "<
tm_mday<<" 日"<
tm_year)) //这一天为闰年 77 start=ren[t->tm_mon-1]+t->tm_mday ; 78 else 79 start=pin[t->tm_mon-1]+t->tm_mday ; 80 if(isprim(year)) 81 en=ren[month-1]+day; 82 else 83 en=pin[month-1]+day; 84 int year_cha=year - t->tm_year; 85 int ans=(year_cha/4)*366+(year_cha - year_cha/4)*365+en-start; 86 cout<<"相隔:"<
<<" 天"<
tm_wday+ans%7<
tm_year+=1900; 98 t->tm_mon++; 99 if(isprim(t->tm_year)) //这一天为闰年100 start=ren[t->tm_mon-1]+t->tm_mday ;101 else102 start=pin[t->tm_mon-1]+t->tm_mday ;103 using namespace mon ;104 if(isprim(year))105 en=ren[month-1]+sday;106 else107 en=pin[month-1]+sday;108 int year_cha=year - t->tm_year;109 int ans=(year_cha/4)*366+(year_cha - year_cha/4)*365+en-start;110 //得到本月初一是星期几111 int weekly=t->tm_wday+ans%7;112 if(weekly<0)weekly+=7;113 if(isprim(year))114 print(month,weekly,ren_month[month]);115 else116 print(month,weekly,pin_month[month]);117 };118 void Calender::show3()119 {120 int start,ans;121 using namespace mon;122 time_t k;123 time(&k);124 struct tm *t;125 t=localtime(&k);126 //推出其为星期几即可127 int sday,mon;128 sday=mon=1;129 t->tm_year+=1900;130 t->tm_mon++;131 using namespace isprimer;132 if(isprim(t->tm_year))133 start=ren[t->tm_mon-1]+t->tm_mday;134 else135 start=pin[t->tm_mon-1]+t->tm_mday;136 int year_cha=(year-t->tm_year);137 ans=(year_cha/4)*366+(year_cha - year_cha/4)*365+1-start;138 int weekly=t->tm_wday+ans%7;139 if(weekly<0)weekly+=7;140 if(isprim(year))141 {142 for(int i=1;i<=12 ;i++ )143 print(i,(weekly+ren[i-1])%7,ren_month[i]);144 }145 else146 for(int i=1;i<=12 ;i++ )147 print(i,(weekly+pin[i-1])%7,pin_month[i]);148 149 };150 int main()151 {152 int tem,aa,bb,cc;153 cout<<"你想要查找什么?";154 cout<<"1.某年某月某日距现在的天数以及是星期几?"<
>tem;158 switch(tem)159 {160 case 1:161 {162 cout<<"输入年 月 日"<
>aa>>bb>>cc;164 Calender stu(aa,bb,cc);165 stu.show1();166 } ;break;167 case 2:168 {169 cout<<"输入年 月"<
>aa>>bb;171 Calender tt(aa,bb);172 cout<<"this is "<
<<" Calender !"<
>aa;180 Calender stu(aa);181 stu.show3();182 }183 }184 return 0;185 }

效果图:

 

转载地址:http://eziso.baihongyu.com/

你可能感兴趣的文章
Linux系统下用户行为审计
查看>>
MongoDB主从配置
查看>>
针对IE浏览器里面CSS的Bug解决方法
查看>>
python 小点
查看>>
Tf中的SGDOptimizer学习【转载】
查看>>
MySQL<多表操作>
查看>>
day01<计算机基础知识&Java语言基础>
查看>>
Web前端性能优化的14条规则
查看>>
【vue】vue +element 搭建及开发中项目中,遇到的错误提示
查看>>
微信小程序之简单记账本开发记录(六)
查看>>
死锁和活锁
查看>>
js生成二维码
查看>>
去除input[type=number]的默认样式
查看>>
SD类型与协议
查看>>
运行时数据区域
查看>>
(36)老版和新版API调用
查看>>
Ubuntu 12.04 Desktop配置XAMPP【转】
查看>>
抓取网易公开课并下载
查看>>
perl-Thread-Queue for openwrt
查看>>
计算字符串中每种字符出现的次数[Dictionary<char,int>泛型集合用法]
查看>>