C++:设计一个Money类,包含有元、角、分,能够实现两个Money的-、>运算.

本文介绍如何在C++中设计Money类,包含元、角、分,并通过重载运算符-和>,实现两个Money对象的加减比较。构造函数用于初始化,显示输出函数则演示金额运算结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++:设计一个Money类,包含有元、角、分,能够实现两个Money的-、>运算.

【程序要求】实现Money类两个对象之间的-、>运算;至少定义一个构造函数;定义显示输出函数。

【样例输入】

1 2 3
56 7 8

【样例输出】

56yy7jj8ff
55yy5jj5ff

【样例输入说明】

第一行输入代表:1.23元
第二行输入代表:56.78元

【样例输出说明】

第一行输出代表:两输入金额中较大者
第二行输出代表:两输入金额之差

【评分标准】

1.构造函数 10
2.显示输出函数 10
3.money类两对象间-运算 10,使用运算符重载 15
4.money类两对象间>运算 10,使用运算符重载 15
5.其他 50

【源代码】

#include<iostream>
using namespace std;
class Money
{
public:
	Money(int a=0, int b=0, int c=0)
	{
		yuan = a;
		jiao = b;
		fen = c;
	}
	friend Money operator>(Money&a, Money&b)
	{
		if (a.yuan > b.yuan)
		{
			return a;
		}
		else if(a.yuan == b.yuan)
		{
			if (a.jiao > b.jiao)
			{
				return a;
			}
			else if (a.jiao == b.jiao)
			{
				if(a.fen>=b.fen)
				{
					return a;
				}
				else 
				{
					return b;
				}
			}
			else if (a.jiao < b.jiao)
			{
				return b;
			}
		}
		else if (a.yuan < b.yuan)
		{
			return b;
		}
	}
	friend Money operator-(Money& a, Money& b)
	{
		Money r;
		r = a > b;
		if (r.yuan==a.yuan&&r.jiao==a.jiao&&r.fen==a.fen)
		{
			r.yuan -= b.yuan;
			r.jiao -= b.jiao;
			r.fen -= b.fen;
		}
		else
		{
			r.yuan -= a.yuan;
			r.jiao -= a.jiao;
			r.fen -= a.fen;
		}
		return r;
	}
	
	int yuan, jiao, fen;
};
void xixi(Money& a, Money& b)
	{
		Money c, d;
		c = a > b;
		d = a - b;
		cout << c.yuan << "yy" << c.jiao << "jj" << c.fen << "ff" << endl;
		cout << d.yuan << "yy" << d.jiao << "jj" << d.fen << "ff" << endl;
	}
int main()
{
	int A, B, C, D, E, F;
	cin >> A >> B >> C;
	cin >> D >> E >> F;
    Money a(A,B,C), b(D,E,F);
	xixi(a, b);
	return 0;
}

好好学程序啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHkko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值