C++习题一:算年龄差:

这是一篇关于使用C++解决计算年龄差问题的博客,主要探讨如何利用C++编程语言进行后端开发。
摘要由CSDN通过智能技术生成

算年龄差:

#include<iostream>
#include <iomanip>
using namespace std;
#include<string>
#define M 12
//Data类;
class Date {
   
public:
	/* 默认构造函数,以fullyear的形式给出年月日,默认值为1990年1月1日,同时设置
	日期分隔符为“-” */
	Date(int year = 1990, int month = 1, int day = 1);
	/* get、set方法 */
	// 设置日期,如果有非法的月或日,将其置为1
	void setDate(int year, int month, int day);
	void setYear(int year);
	int getYear();
	void setMonth(int month);
	int getMonth();
	void setDay(int month);
	int getDay();
	//设置分割符——且设置分隔符默认为-
	void setSeparator(char separator);
	/* 输出函数,请使用setfill(‘0’)和setw(2) */
	void printFullYear(); // 以YYYY-MM-DD的形式打印,2011-01-08
	void printStandardYear(); // 以YY-MM-DD的形式打印,比如11-01-08
	/* 计算函数 */
	// 计算当前日期与参数日期之间相差几个整年,仅考虑参数日期比当前日期晚的情况
	int fullYearsTo(int year, int month, int day);
	/* 计算当前日期与参数日期之间相差多少天(考虑闰年),如果参数日期在当前日期之前,返回负数。 */
	int daysTo(int year, int month, int day);
private:
	int year;
	int month;
	int day;
	char separator; // 日期分隔符
};

int main() {
   
	Date birthDate(1969, 8, 11);
	birthDate.printFullYear(); // 打印:1969-08-11
	birthDate.printStandardYear(); // 打印:69-08-11
	birthDate.setSeparator('/');
	birthDate.printFullYear(); // 打印:1969/08/11
	cout << birthDate.fullYearsTo(2010, 4, 15)<<endl; // 打印:40,满四十岁
	cout << birthDate.daysTo(2010,4,15)<<endl; // 打印14857,活了14857天了
	// 打印-7254,共和国比我早诞生了7254天
	cout << birthDate.daysTo(1949,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值