一直过不了,也找不出问题,

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图


#include"iostream"
using namespace std;
class Money{
        int yuan;
        int fen;
        int jiao;
    public:
        Money(int y=0,int j=0,int f=0):yuan(y),jiao(j),fen(f){}
        Money operator +(const Money &a);
        Money operator -(const Money &b);
        void print();
        
};
Money Money:: operator +(const Money &a)
{    
    int all;
    Money m;
    all=(yuan+a.yuan)*100+(jiao+a.jiao)*10+(fen+a.fen);
    m.yuan=all/100;
    m.jiao=(all%100)/10;
    m.fen=(all%100)%10;
    return m;
    
}
Money Money:: operator -(const Money &b)
{
    int all;
    Money m;
    all=(yuan-b.yuan)*100+(jiao-b.jiao)*10+(fen-b.fen);
    m.yuan=all/100;
    m.jiao=(all%100)/10;
    m.fen=(all%100)%10;
    return m;    
}
void Money:: print()
{
    cout<<yuan<<"yuan"<<jiao<<"jiao"<<fen<<"fen"<<endl;
}
int main() 
{
    int y1,j1,f1;
    int y2,j2,f2;
    cin>>y1>>j1>>f1;
    cin>>y2>>j2>>f2;
    Money m1(y1,j1,f1),m2(y2,j2,f2),m;
    m=m1+m2;
    m.print();
    m=m1-m2;
    m.print();
    return 0;
}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

不是让你只输出一个负号吗
你处理负号的代码呢