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;
}
好好学程序啊