#include <iostream>
#include <iomanip>
#include <string>
using namespace std;class Caldendar{
protected:int m_year;                               //年份int m_month;                              //月份static long long t_day;                   //计算距离公元元年的天数int m_day[12];                            //一年中每个月的天数
public:void setyear(int year);                   //输入年份bool isleapyear();                        //判断是否是闰年void getdays();                           //获得每月天数void print();                             //打印日历
};
long long Caldendar::t_day = 0;void Caldendar::getdays()
{if(isleapyear() == true){int day[12] = {31,29,31,30,31,30,31,31,30,31,30,31};for(int i = 0;i < 12;i++){m_day[i] = day[i];}}else{int day[12] = {31,28,31,30,31,30,31,31,30,31,30,31};for(int i = 0;i < 12;i++){m_day[i] = day[i];}}}
void Caldendar::setyear(int year)
{m_year = year;
}
bool Caldendar::isleapyear()
{if((m_year%4 == 0&&m_year%100 != 0)||(m_year%400 == 0)){return true;}else{return false;}
}
void Caldendar::print()
{char *t_month[12] = {"一月(Jan)","二月(Feb)","三月(Mar)","四月(Apr)","五月(May)","六月(Jun)","七月(Jul)","八月(Aug)","九月(Sep)","十月(Oct)","十一月(Nov)","十二月(Dec)"};char *t_week[7] = {"Sun","Mon","Tue","Wen","Thru","Fri","Sat"};long long count = 0;                     //用于换行for(int i = 1;i < m_year;i++){if((i%4 == 0&&i%100 != 0)||(i%400 == 0)){t_day += 366;}else{t_day += 365;}}count = t_day%7+1;system("reset");cout<<"年份:"<<m_year<<endl;for(m_month = 0;m_month < 12;m_month++){cout<<"---------------------------------"<<endl<<endl;cout<<t_month[m_month]<<endl;for(int m = 0;m < 7;m++){cout<<t_week[m]<<"  ";}cout<<endl;int j = 0;for(int k = 0;k < count%7;k++){cout<<setw(3)<<"     ";}for( j = 0;j < m_day[m_month];j++){count++;cout<<setw(3)<<j+1<<"  ";if(count%7 == 0){cout<<endl;}}cout<<endl;}
}
int main()
{int year = 0;cout<<"请输入年份:";cin>>year;Caldendar p;p.setyear(year);p.getdays();p.print();return 0;
}

用C++写一个日历程序,要求输入年份,显示全年的日历相关推荐

  1. 帮我写一个C++程序,输入一个数,输出这个数的平方

    好的,下面是一个使用 C 语言输入一个数,并输出这个数的平方的程序: #include <stdio.h> int main(void) { int num; // 定义一个变量来存储输入 ...

  2. 有一个函数 x , x大于1 ,y等于 { 2x-1 1大于等于x小于10 3x-11 x大于等于10 写一段程序,输入x,输出y。

    题目描述 有一个函数 | x x<1 y= { 2x-1 1<=x<10 | 3x-11 x>=10 写一段程序,输入x,输出y. 将下面的程序填写完整. #include & ...

  3. 有一个函数 y={  x      x<1     |  2x-1   1<=x<10     { 3x-11  x>=10 写一段程序,输入x,输出y

    1007: 有一个函数 y={  x      x<1     |  2x-1   1<=x<10     { 3x-11  x>=10 写一段程序,输入x,输出y #incl ...

  4. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  5. 彩票中奖java程序 随机30选7_写一个彩票程序:30选7

    1. 写一个彩票程序:30选7.随机(1~30之间)生成7个随机数,注意不能重复.然后从键盘输入7个数,对比7个数是否与随机数有相同的.最后显示"中了几个号".同时,如果中了7个号 ...

  6. 用python写一个小程序,解决买水果的问题?

    问题: 商店总共有三种水果,香蕉/苹果/葡萄,单价分别为3.5/5.0/3.0元/500克. 写一个小程序实现: 1.输出一个菜单:打印每种水果的价格: 2.寻问客户欲购买水果? 3.客户想购买的克数 ...

  7. python实现抽奖软件(一)_详解用python写一个抽奖程序

    第一次使用python写程序,确实比C/C++之类方便许多.既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁.清晰.方便. 1.用到的模块 生成随机数的模块random 用来 ...

  8. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  9. python抽奖教程_利用Python写一个抽奖程序,解密游戏内抽奖的秘密|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 分析需求 我们先整理下思路,目标是什么?目标是要写一个抽奖程序,那么抽奖程序的核心是什么?当然是如何判断一 ...

  10. C语言_写一个关机程序,只要程序运行起来,电脑在1分钟内关机。

    写一个关机程序,只要程序运行起来,电脑在1分钟内关机, //如果输入:"我是猪,才取消关机\n") 代码如下(示例): #include <string.h> #inc ...

最新文章

  1. 浏览器时间久了重新登录_注意!今日开始打印一建准考证,附各地时间及常见问题汇总...
  2. slf4j介绍以及实现原理窥探
  3. 34.任务计划cron chkconfig systemctl管理服务 unit target
  4. python人脸识别opencv_用python和opencv 做人脸识别
  5. centos7 r语言安装_R 和 RStudio 的安装及 R Profile 的配置 amp; 初识 R 语言数据爬取...
  6. 数电与模电的根本区别 转
  7. Golang 之协程详解
  8. 游戏开发所需要看的书
  9. 2020年第十届C/C++ B组第二场蓝桥杯省赛真题
  10. 货币php是什么,php是什么【货币问答】- php是什么所有答案 - 联合货币
  11. Oracle 10g 的后台进程
  12. 王者荣耀 露娜 技巧-教学-总结
  13. 如果你不释放MogaFX外汇,你将无法获得交易或投资
  14. #2016京东实习生笔试之生日礼物
  15. github搜索语法-信息搜集指南----总结
  16. 进阶项目(6)LCD12864液晶屏幕设计讲解
  17. 固态硬盘长期不通电数据丢失吗 数据丢失怎么恢复
  18. 公司小白熟悉苹果Mac常用简单操作
  19. 称重软件这几个模块你了解吗
  20. 录入设备(3)——51单片机原理图及PCB设计

热门文章

  1. C/C++模拟问题(二)
  2. Android Framework | 一种新型的应用启动机制:USAP
  3. 安装postgreSQL出现configure:error:readline library not found解决方法
  4. 基于springboot办公OA自动化管理系统
  5. wp门户新闻主题下载免授权自适应大门户WordPress主题
  6. 盗墓笔记的机关再复杂也比不上智慧园区的高科技
  7. 像 word 手动插入分页符一样实现报表中强制分页(强制分页)
  8. 【蓝桥杯】【星系炸弹】
  9. 最常用的9个机器学习算法,解决99%的业务问题!
  10. Linux Python利用海康相机C++SDK(丝滑取流)