填空题【说明】

设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。

在Date类中设计如下重载运算符函数:

Date operator + (int days) : 返回某日期加上天数得到的日期。

Date operator - (int days) : 返回某日期减去天数得到的日期。

int operator - (Date&b): 返回两日期相差的天数。

【程序】

#include<iostream.h>

int day tab[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,

31,29,31,30,31,30,31,31,30,31,30,31;

//day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date

int year, month, day //年,月,日

int leap(int); //判断是否闰年

int dton(Date&)

Date ntod(int)

public:

Date()

Date (int y, int mint d) I year = y; month = m; day = d;

void setday(intd)day = d;

void setmonth(int m) month = m;

void setyear(int y) year =y;

int getday() return day;

int getmonth() return month:

int getyear() return yea;

Date operator + (int days) //+运算符重载函数

static Date date;

int number =(1)

date = ntod(number)

return date

Date operator - (int days) //-运算符重载函数

staffs Date date;

int number=(2);

number - = days;

date = ntod(number)

return date;

int operator - (Date &b) //-运算符重载函数

int days=(3);

return days;

void disp()

cout<<year<<"."<<month<<". "<<day<<endl;

;

int Date: :leap( int year)

if((4)) //是闰年

return 1; //不是闰年

else

return0:

int Date:: dton( Date &d) //求从公元0年0月0日到d日期的天数

inty,m,days =0;

for(y=1;y<=d. year;y++)

if((5))days+ =366; //闰年时加366天

else days + = 365; //非闰年时加365天

for(m =0;m<d. month-1;m++)

if( (6) )

days += day_tab[1] [m];

else

days +=day_tab[0] [m];

days + = d. day;

return days;

Date Date::ntod(intn) //将从元0年0月0日的天数转换成日期

int y=1,m = 1,d,rest = n,lp;

while(1)

if(leap(y))

if(rest<= 366) break;

else rest - = 366;

else //非闰年

if(rest = 365 ) break;

else rest-=365;

y++;

y--;

Ip = leap(y);

while(1)

if(lp) //闰年

if(rest>day_tab[1] [m - 1]) rest -= day_tab[1] [m-1];

else break;

else //非闰

if(rest>day_tab[0] [m -1]) rest -= day_tab[0] [m-1];

else break;

m++;

d = rest;

return Date(y;m,d);

void main()

Date now(2003,10,1) ,then(2005,6,5);

cout<<" now:";now. disp();

cout<<" then:";then. disp();

cout<<"相差天数:"<<(then-now)<<endl;

Date dl = now + 1000,d2 = now - 1000;

cout<<"now + 1000:" ;d1. disp();

cout<<" now - 1000:" :d2. disp();

java定义一个日期类 包括年 月 日_【说明】 设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期..._考试资料网...相关推荐

  1. (C++)设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,包括某日期加上指定天数、某日期减去指定天数、两个日期相差的天数等。

    C++面向对象程序设计课后作业第239页第5题 题目要求:设计一个日期类Date,包括年.月.日等私有数据成员.要求实现日期的基本运算,包括某日期加上指定天数.某日期减去指定天数.两个日期相差的天数等 ...

  2. 定义一个三角形类(TRI)及其派生类三角柱体类(COL)。其中三角形类可以计算三角形的面积和周长;三角柱体类可以计算柱体的体积和表面积。其具体要求如下: (1)TRI的成员如下:  私有数据成员 

    题目要求: 定义一个三角形类(TRI)及其派生类三角柱体类(COL).其中三角形类可以计算三角形的面积和周长:三角柱体类可以计算柱体的体积和表面积.其具体要求如下: (1)TRI的成员如下: 私有数据 ...

  3. java设计一百亿的计算器_请设计一个一百亿的计算器

    首先要明白这道题目的考查点是什么, 一是大家首先要对计算机原理的底层细节要清楚.要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况, 二是要具备一定的面向对象的设计思想.首先,计算机中用 ...

  4. 现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········

    原题:现要为某一个销售部门编写一个程序管理约100种商品.要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001).商品名称.商品销售量和商品销售额等信息,并编写以下函数: 1.编写一个函 ...

  5. 建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化

    建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化,友员函数Add,Sub,Mul和Div分别用于进行复数的加.减.乘和除法 ...

  6. 构建一个类book,其中含有2个私有数据成员qu和price,建立一个有5个元素的数组对象,将qu初始化为1~5,将price初始化为qu的10倍。

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 构建一个类book,其中含有2个私有数据成员qu和price,建立一个有5个元素的数组对象,将qu初始化为1~5,将price ...

  7. 友元函数、友元类、访问私有数据成员、友元关系[C++]

    友元函数(friend function) 1. 什么是友元函数?     一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员 2. 友元函数的用 ...

  8. ehcache 清除缓存_如何设计一个本地缓存

    作者:ksfzhaohuihttp://my.oschina.net/OutOfMemory/blog/3133013 前言 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级 ...

  9. C++:建立Cylinder类,有三个double型私有数据成员:半径、高和体积,构造函数传递两个值:半径和高,计算体积。成员函数showVolume()用来显示每个对象的体积。

    C++:建立Cylinder类,有三个double型私有数据成员:半径.高和体积,构造函数传递两个值:半径和高,计算体积.成员函数showVolume()用来显示每个对象的体积. #include&l ...

最新文章

  1. linux 别名管理,Linux 的 15 个命令行别名, 帮系统管理员提升工作效率!
  2. JavaScript实现MergeSort归并排序算法(附完整源码)
  3. aspx隐藏前台控件div_javascript总结--div
  4. 学霸情侣一起投身国防事业,爱情和优秀同时发生了…
  5. c语言中最常用的四种数据类型,计算机中有哪几种常见数据类型
  6. 微信App支付全解析
  7. 为什么要使用多层开发?
  8. paip.验证码识别的意义
  9. 13个大数据应用案例,告诉你最真实的大数据故事
  10. 3D旋转相册代码及详细使用教程
  11. javaweb复习题库
  12. 推荐一款基于bootstrap的漂亮的前端模板——inspinia_admin
  13. C++设计模式基础和模式设计基本原则
  14. 从零开始学习C语言 Day 036
  15. git代理设置与取消
  16. excel 行列转换
  17. centos虚拟机上网慢的问题
  18. python爬取LOL皮肤
  19. unsw计算机科学的挂科率,2020年新南威尔士大学研究生挂科率
  20. Java SE java基础 求营业额

热门文章

  1. linux windos 设计理念,Windows 20 概念设计
  2. 索尼和微软同时发布新游戏机——抢钱了
  3. 真杜比全景声家庭影院级投影设备,当贝做到了五千元内也支持
  4. sql的一些简单查询
  5. 2.郝斌C语言课程大纲
  6. 第13章-1~3 法兰接头预紧力密封接触分析(模型简化、网格调整、约束)并行计算设置、摩擦接触设置adjust to touch 、约束设置frictionless support、bolt
  7. python 保存数据单文件_python3.6 单文件爬虫 断点续存 普通版 文件续存方式
  8. 如何在本地搭建FTP服务器以及搭建后的用途
  9. layui rate (评分组件)使用的一点经验分享
  10. 【胖虎的逆向之路】如何绕过 Android11新特性之 “包的可见性“