C++面向对象类的实例题目三
#include<iostream>
using namespace std;
class CData
{
public:
CData(int y,int m,int d);
void setdate(int y, int m, int d);
void display();
void add();
private:
int day;
int month;
int year;
};
CData::CData(int y,int m,int d)
{
day = d;
month = m;
year = y;
}
void CData::setdate(int y,int m,int d)
{
day = d;
month = m;
year = y;
}
void CData::display()
{
cout<<day<<"/"<<month<<"/"<<year<<endl;
}
void CData::add()
{
int a[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}
};
if((year%400 == 0)||(year%100 !=0 && year%4 ==0))//闰年的情况
{
if(a[1][month-1]>day)day++;
else
{
month++;
if(month>12)
{
year++;
month = 1;
}
day = 1;
}
}
else //平年的情况
{
if(a[0][month-1]>day)day++;
else
{
month++;
if(month>12)
{
year++;
month = 1;
}
day = 1;
}
}
}
int main()
{
CData date(2013,12,31);
date.display();
date.add();
date.display();
date.setdate(2014,11,11);
date.display();
date.add();
date.display();
return 0;
}
结果输出:
31/12/2013
1/1/2014
11/11/2014
12/11/2014
C++面向对象类的实例题目三的更多相关文章
- C++面向对象类的实例题目四
题目描述: 以面向对象的概念设计一个类,此类包含3个私有数据:unlead.lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/升,有铅汽油的加个是16元/升),请以构造 ...
- C++面向对象类的实例题目十
题目描述: 编写一个程序,其中有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员:车轮个数wheels和车重weight放在保护段中:小车类car是它的私有派生类,其中包含载 ...
- C++面向对象类的实例题目九
题目描述: 编写一个学生和老师数据输入和显示程序,学生数据有编号.姓名.班号和成绩,教师数据有编号.姓名.职称和部门. 要求将编号.姓名.输入和显示设计成一个类person,并作为学生数据操作类stu ...
- C++面向对象类的实例题目八
题目描述: 编写一个程序输入3个学生的英语和计算机成绩,并按照总分从高到低排序.要求设计一个学生类Student,其定义如下: 程序代码: #include<iostream> using ...
- C++面向对象类的实例题目七
题目描述: 编写两个有意义的类,使一个类嵌套在另一个类中. 分析: 本题涉及两个类student和cdegree,前者为学生类,包含学生的学号(nubner),姓名(name)和成绩(degree), ...
- C++面向对象类的实例题目五
题目描述: 编写一个程序,采用一个类求n!,并输出5!的值. 程序代码: #include<iostream> using namespace std; class CFactorial ...
- C++面向对象类的实例题目十二
题目描述: 写一个程序计算正方体.球体和圆柱体的表面积和体积 程序代码: #include<iostream> #define PAI 3.1415 using namespace std ...
- C++面向对象类的实例题目十一
题目描述: 写一个程序计算三角形,正方形和圆形3种图形的面积 程序代码: #include<iostream> #include<cmath> #define PAI 3.14 ...
- C++面向对象类的实例题目六
问题描述: 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数. 程序代码: #include<iostream> ...
随机推荐
- Java 简单图片截取
package cn.byref.demo.image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import ...
- 分布式事务_01_2PC框架raincat快速体验
一.前言 关于2PC的理论知识请见:分布式_理论_03_2PC 这一节我们来看下github上一个优秀的2PC分布式事务开源框架的快速体验. 二.源码 源码请见: https://github.com ...
- 20165210 Java第三次实验报告
20165210 实验二 敏捷开发与XP实践 一.敏捷开发与XP实践-1 实验要求: http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替 ...
- Js中的prototype的用法一
一 prototype介绍 prototype对象是实现面向对象的一个重要机制.每个函数也是一个对象,它们对应的类就是function,每个函数对象都具有一个子对象prototype.Prototyp ...
- ubuntu下vi文本后出现不正常的情况
安装vim full版本由于Ubuntu预安装的是tiny版本,所以会导致我们在使用上的产生上述的不便.但是,我们安装了vim的full版本之后,键盘的所有键在vi下就很正常了.首先,要先卸掉旧版的v ...
- BZOJ2527:[POI2011]Meteors
浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...
- “makefile”写法详解,一步一步写一个实用的makefile,详解 sed 's,$∗\.o[ :]*,\1.o $@ : ,g' < $@.
目的:编写一个实用的makefile,能自动编译当前目录下所有.c/.cpp源文件,支持二者混合编译.并且当某个.c/.cpp..h或依赖的源文件被修改后,仅重编涉及到的源文件,未涉及的不编译. 二要 ...
- Azure VM从ASM迁移到ARM(二)
在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一. 获得ASM中Disk的信息 在管理 ...
- Fiddler 使用技巧
1.Host重定向,将192.10.11.12:8091的地址重新定向到127.0.0.1:8080 if (oSession.host=="192.10.11.12:8091") ...
- Exception in thread "main" javax.validation.ValidationException: Unable to find a default provider
Exception in thread "main" javax.validation.ValidationException: Unable to find a default ...