/*任意输入1970年以后的年和月,打印出当前月的日历*/
#include <iostream>
using namespace std;
class RL //日历类
{
public:

void Pri(); //打印函数
void Js(); //日历计算函数
void Sca(); //输出函数

private:
int year;
int mon;
int days;
int week;

};

void RL::Sca()
{
int y=1,m=1;
while(m==1&&y==1) //检测输入是否符合要求
{
cout<<"\n输入1920年以后的年和月,格式按 年 月"<<endl;
cin>>year>>mon;
if(year>=1920&&mon>=1&&mon<=12)
{m=0;y=0;}

}
}
void RL::Js()
{
int yer=0,mo=0,das=0,i=0,d=0;
int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};
yer=year-1920;
mo=mon-1;
// days=0;
week=0;
for(i=0;i<mo;i++)
{
das=das+day_tab[i];
}
if(mo>=2&&((year%4==0&&year%100!=0)||year%400==0)) //这里的括号一定要到位,在这里就是
//因为括号的问题,调了有段时间
das+=1; //判断year是否为闰年,2月要加一天
for(i=1920;i<=year;i++) //计算1920年到year之间有多少个闰年
{
if((i%4==0&&i%100!=0)||i%400==0)
d++;
}
days=yer*365+das+d; //计算year month 到1920 1 1之间的天数
week=(days%7+4)%7; //计算year month 1号星期几
}
void RL::Pri()
{
int i=0,j=0,k=0;
j=week;
int day1_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"\t\t\t"<<year<<"年"<<mon<<"月\n"<<endl;
cout<<"日\t一\t二\t三\t四\t五\t六"<<endl;
if(((year%4==0&&year%100!=0)||year%400==0)&&mon==2)k=1;
for(i=1;i<=week;i++)
cout<<"\t";
for(i=1;i<=day1_tab[mon]+k;i++)
{

if(j==7)
{
j=0;
cout<<endl;
}
j++;
cout<<i<<"\t";
}

}
int main()
{
RL rl;
while(1)
{

rl.Sca();
rl.Js();
rl.Pri();
}
    return 0;

}

C++编写万年历查询相关推荐

  1. 用C语言编写万年历6,C语言编写万年历

    <C语言编写万年历>由会员分享,可在线阅读,更多相关<C语言编写万年历(8页珍藏版)>请在人人文库网上搜索. 1.C语言编写万年历 [要求]:1 程序运行后,首先在屏幕上显示主 ...

  2. 万年历查询系统理解与功能增添

    万年历查询系统 在软件工程综合实践专题课上,老师让我们分析之前做过的小程序,重构小部分代码,满足客户的需求,通过理解需求,设计,开发,回归测试去读程,评价并增添新的功能. 这是我在脚本之家查到的一个万 ...

  3. c语言编写万年历课程设计,用C语言编写万年历 C课程设计.pdf

    用C语言编写万年历 C课程设计 用用 C++语言编写万年历语言编写万年历 用用 语言编写万年历语言编写万年历 学生姓名:学生姓名: 指导老师:指导老师: 学生姓名学生姓名:: 指导老师指导老师:: 摘 ...

  4. 编写电话号码查询系统

    编写电话号码查询系统 一.项目简介 设计一个通讯录管理软件,做到能够增加组.删除组. 修改组.查询好友.加好友.修改好友,删除好友,退出. (1) 通讯录的每一条信息包括姓名,手机,电话,性别,分组: ...

  5. 用python编写万年历

    用python编写万年历方法与从.java大同小异,难点在于如何计算星期几.下面是万年历的python代码: ''' 万年历:输入一个年份,再输入一个月份,把那个月的日历打印出来. (1900年1月1 ...

  6. 编写 SQL 查询表格,按创建时间降序排列。

    编写 SQL 查询表格,按创建时间降序排列 SELECT [表格名.字段名1][表格名.字段名2]....... FROM [表格名1],[表格名2](中文括号不需要输入,该行后方无需加英文标点,表格 ...

  7. 万年历查询 API数据接口

    万年历查询 计费模式 免费额度 点数单价 每日限制 会员免费 100次 免费 1000次 更新时间:2022-07-11 03:00:54接口状态:正常 根据日期查询万年历 请求地址 HTTPGET/ ...

  8. java 万年历接口_接口详细介绍-万年历查询

    /** *点睛数据:万年历查询,使用JAVA方式调用接口简单示例 * @author 点睛数据 * djapi.cn */ import java.io.BufferedReader; import ...

  9. php制作万年历的步骤_php制作一个万年历查询的实例代码教程

    下面是php制作一个万年历查询的实例代码教程的相关内容,文章教程主要讲述与万年历 php 相关的一些技术与知识,更多的内容欢迎大家访问http://www.alixixi.com,获取更多最新教程,下 ...

最新文章

  1. mongo 改字段名_一日一技:修改MongoDB集合中的字段名
  2. 马库斯开喷GPT-3:演员而已,它根本不知道自己在说什么
  3. 有服务器风扇声音对胎儿有影响吗,大噪音对胎儿的影响
  4. linux C/C++开发环境搭建指南
  5. oracle数sqlplus,sqlplus查询oracle数据库数据容量
  6. python向空列表添加列表_Python列表核心知识点汇总
  7. 实现等待wx.login完成后在执行其他请求
  8. [专栏精选]UI布局
  9. 可视化与办公自动化学习
  10. python json文件太大_python - python json.dump创建的文件太大 - 堆栈内存溢出
  11. FISCO BCOS Solidity 智能合约 返回多个值
  12. newifi虚拟服务器,简单几个步骤,newifi mini变身网络打印服务器,轻松省下100+-win7默认网关不可用...
  13. GAT, Self Attention, Cross Attention对比以及在自动驾驶轨迹预测任务中的pytorch应用
  14. 感受野的含义及计算方法
  15. 提前祝福你和你和家人国庆节快乐,旅途愉快!
  16. java字符串同构_Java同构代码
  17. 如何拉取钉钉的外出、出差审批单
  18. 2068 Problem M 鸡兔同笼
  19. HDLBits-Circuits学习小结(八)有限状态机进阶(Lemmings、Onehot FSM、PS/2 packet parser)
  20. 会话(gorilla/sessions)

热门文章

  1. CentOS查看显卡及GPU相关信息,指定GPU、CPU运行
  2. jquery 图片或者视频加载完成事件
  3. java网络爬虫开发笔记
  4. 【面试准备】游戏开发中的几个岗位分别做什么考察侧重点
  5. Sigmund的99行Matlab拓扑优化程序简析
  6. Mac 电脑需不需要每天关机?
  7. 数据中心机房常见的冷却方式
  8. JAVA毕业设计高校图书馆管理网站计算机源码+lw文档+系统+调试部署+数据库
  9. 第十课 切片工具 修复画笔工具 修补工具 颜色替换工具
  10. 近期美国监管机构密集出手 将如何影响加密市场?