/*
判断闰年3
如果知道某年元月一日是星期几,能否在本程序的基础上,
编写一个打印全年日历的程序?
*/
#include <iostream>
using namespace std;
bool LeapYear(int year)
{
bool isLeapYear;  //是否是闰年
//判断是否是闰年
if(year%4==0&&year%100!=0||year%400==0)
{
isLeapYear=true;
}
else
{
isLeapYear=false;
}
return isLeapYear;
}
int PerMonth(int m,int year)
{
int daysPerMonth=0; //每月的天数
switch(m)
{
case 1:
{
daysPerMonth=31;
break;
}
case 2:
{
if(LeapYear(year))
daysPerMonth=29;
else
daysPerMonth=28;
break;
}
case 3:
{
daysPerMonth=31;
break;
}
case 4:
{
daysPerMonth=30;
break;
}
case 5:
{
daysPerMonth=31;
break;
}
case 6:
{
daysPerMonth=30;
break;
}
case 7:
{
daysPerMonth=31;
break;
}
case 8:
{
daysPerMonth=31;
break;
}
case 9:
{
daysPerMonth=30;
break;
}
case 10:
{
daysPerMonth=31;
break;
}
case 11:
{
daysPerMonth=30;
break;
}
case 12:
{
daysPerMonth=31;
break;
}
}
return daysPerMonth;
}
void print(int year,int week)
{
int daysPerMonth=0; //每月的天数
int m,d,w,i;
for(m=1;m<=12;m++)
{
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<m<<"月"<<endl;
for(w=0;w<7;w++)
{
cout<<w<<'\t';
}
cout<<endl;
cout<<endl;
week=(week+daysPerMonth)%7;
for(i=0;i<week;i++)
{
cout<<'\t';
}
daysPerMonth=PerMonth(m,year);
for(d=1;d<=daysPerMonth;d++)
{
cout<<d<<'\t';
if((i+d)%7==0)
{
cout<<endl;
}
}
}
}
int main()
{
int year;
int week;
cout<<"输入某一年的年号:";
cin>>year;
cout<<"输入"<<year<<"年元月一日是星期几:";
cin>>week;
print(year,week);
return 0;
}

编写一个打印全年日历的程序相关推荐

  1. python 打印自己代码_如何编写一个打印自身源代码的程序

    一个程序,在没有任何外部输入的情况下,打印自身的源代码,这类程序在英文里有一个专门的称呼,叫做Quine,之所以叫这个名字,是为了纪念美国哲学家及逻辑学家Willard Van Orman Quine ...

  2. java二分查找宿舍管理_1、任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式...

    1.任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式 2016-08-22 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 1.任务:为宿舍管理人员编写 ...

  3. Java黑皮书课后题第6章:6.12(显示字符)使用下面的方法头,编写一个打印字符的方法。编写一个测试程序、打印从‘1‘到‘Z‘的字符,每行打印10个,字符之间使用一个空格字符隔开

    6.12(显示字符)使用下面的方法头,编写一个打印字符的方法.编写一个测试程序.打印从'1'到'Z'的字符,每行打印10个,字符之间使用一个空格字符隔开 题目 题目描述 破题 补充:从生成随机字符窥探 ...

  4. java 程序输出 赵_编写一个完整的JAVA的程序

    编写一个完整的JAVA的程序 关注:84  答案:1  mip版 解决时间 2021-02-05 08:43 提问者妳螚鬧俄螚笑 2021-02-05 02:59 1,接口Person Show()方 ...

  5. Linux环境使用命名空间编写一个简单的容器应用程序:namespace,container,cgroups

    目录 使用命名空间编写一个简单的容器应用程序 创建一个子进程– fork vs clone 具有clone(2)的命名空间 简单示例 - CLONE_NEWPID 隔离网络接口 - CLONE_NEW ...

  6. 编写一个制造各种车辆的程序。包含三个类,具体要求如下: (1)基类Vehicle,包含轮子数和汽车自身重量两个属性,一个两参数的构造方法,一个显示汽车信息的方法; (2)小轿车类Car,增加载客数属性

    一.题目描述 编写一个制造各种车辆的程序.包含三个类,具体要求如下: (1)基类Vehicle,包含轮子数和汽车自身重量两个属性,一个两参数的构造方法,一个显示汽车信息的方法: (2)小轿车类Car, ...

  7. 成绩统计(编写一个使用EL的jsp程序)

    实战要求: 编写一个使用EL的JSP程序: 用Javabean获取一名学生五门学科(英语.高数.JSP.Web.Java)的分数: 每门学科的得分均在0-100分以内,不能为空,不能为非数字: 在另外 ...

  8. 头歌答案--编写一个能搜索单词的程序Bailey–Borwein–Plouffe公式

    任务描述 本关任务:编写一个能搜索单词的程序. 相关知识 为了完成本关任务,你需要掌握: 1.DFS和回溯算法 2.函数设计 3.导入from typing import List def exist ...

  9. 不会编程也能亲手编写一个桌面数字小时钟程序,仅3步轻松实现

    开发一款自己专属的软件应用很难吗?不会编程也能亲手编写一个桌面数字小时钟程序,仅需3步教你轻松实现,人人都可学.只需 13 行代码,您就可以制作自己的数字时钟,先看运行效果: 第一步 打开电脑自带的记 ...

最新文章

  1. MySQL连接问题: MySQLNonTransientConnectionException:Communications link failure during rollback()
  2. 四、redis比mysql快的原因
  3. 27.CSS3文本效果
  4. 洛谷 - P4014 分配问题(费用流/KM)
  5. customizing download debug - extraction in ERP
  6. mysql 不同分区 同时insert_Mysql分区表的原理和优缺点
  7. 如何设置Eclipse新建项目的默认编码方式
  8. ListView 搜索函数
  9. 爬取小说《重生之狂暴火法》 1~140章
  10. 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统
  11. ios显示gif格式图片
  12. POJ2559最大矩形面积——单调栈
  13. 第2节---小任务,爬取百度LOGO链接并下载图片
  14. 用C语言求并集和交集
  15. php 计算工龄,excel如何计算工龄
  16. MVVM理解 ——(2)数据劫持
  17. 项目管理之 项目阶段划分
  18. HashMap中的bucket介绍
  19. 面对不喜欢的工作,只有跳槽一条路吗?
  20. 你可能不知道的 new.target

热门文章

  1. 《.net/C#项目总结--基于asp.netMVC小型网上购物系统的模块》
  2. 计算机会展策划方案,软件学院电脑展示会策划书
  3. Java递归求斐波那契数求猴子吃桃
  4. 斐波那契数列、素数、质数和猴子吃桃问题
  5. 深入浅出,快速弄明白 gst-launch-1.0 PIPELINE-DESCRIPTION 管道描述语法
  6. 花多多拼团系统开发(功能规则)
  7. javascript 禁止下拉页面 “橡皮筋“效果
  8. 生信基础(一)——  生信常用的编程语言
  9. 2018 春 面向对象 第十二次作业
  10. Android读取SIM卡ICCID