求高手帮我改一下下面的c++程序!!!!!!!!!!!

2010年12月12日 15:49    发布者:arm7tdmi
为什么下面mian函数中的r4和r5不能用,删掉以后程序就能正常运行,希望哪位大哥帮忙改下,如果能改的更简单一点更好!谢谢
#include
class RMB
{
     int yuan, jiao, fen;
public:
     RMB()
     {
         yuan=jiao=fen=0;
     }
     RMB(double money)
     {
         money_to_RMB(money);
     }
public:
     RMB operator +(RMB &money)
     {
         return RMB(RMB_to_money()+money.RMB_to_money());
     }
     RMB operator -(RMB &money)
     {
         return RMB(RMB_to_money()-money.RMB_to_money());
     }
     RMB operator *(double times)
     {
         return RMB(RMB_to_money()*times);
     }
     RMB operator /(double times)
     {
         return RMB(RMB_to_money()/times);
     }
public:
     void Show()
     {
         cout << yuan << "元" << jiao << "角" << fen << "分" << endl;
     }
private:
     double RMB_to_money()
     {
         return yuan+jiao/10.0+fen/100.0;
     }
     void money_to_RMB(double money)
     {
         fen=(int)(money*100)%10;
         jiao=(int)(money*10)%10;
         yuan=(int)money;
     }
};

void main()
{
RMB r1(5.12),r2(4.86);
RMB r3, r4, r5,r6;
r3 = r1 + r2 ;
r4 = r1 – r2;
r5 = 2*r1;
r6 = r2/2
r1.Show();
r2.Show();
r3.Show();
r4.Show();
r5.Show();
r6.Show();
}

网友评论

arm7tdmi 2010年12月12日
这是题目:
设计一个人民币类,其数据成员为yuan(元)、jiao (角)、 fen(分),不考虑金钱为负数的情况,定义一个成员函数show用来显示yuan、jiao和fen,定义一个转换函数,将人民币类的对象转换为float或者double。r1为5元1角2分,r2为4元8角6分,r3为r1和r2的和,r4为r1和r2的差,r5是r1的两倍,r6是r2的二分之一。
#include
class RMB
{……};
void main()
{
RMB r1(5.12),r2(4.86);
RMB r3, r4, r5,r6;
r3 = r1 + r2 ;
r4 = r1 – r2;
r5 = 2*r1;
r6 = r2/2;
r1.Show();
r2.Show();
r3.Show();
r4.Show();
r5.Show();
r6.Show();
}