一只小菜鸡。。 2022-09-28 23:05 采纳率: 63.2%
浏览 233
已结题

c#想要过程。,!~.…

定义一个人民币RMB类,其中成员包括
1.定义元、角、分三个字段,以及相应的构造函数。
2.对三个字段设置读写属性;
3.定义Print函数,用于输出RMB类数值:元角*分;
4.在类中定义+、-两个操作符的重载。对两个RMB对象进行加减操作,如3元5角8分+4元2角3分=7元8角1分

  • 写回答

9条回答 默认 最新

  • 浪客 2022-09-29 11:20
    关注
    
    class RMB
    {
        private int _y, _j, _f;
        public RMB(int y = 0, int j = 0, int f = 0)
        {
            _y = y;
            _j = j;
            _f = f;
        }
        public int Yuan
        {
            get { return _y; }
            set { _y = value; }
        }
        public int Jiao
        {
            get { return _j; }
            set { _j = value; }
        }
        public int Fen
        {
            get { return _f; }
            set { _f = value; }
        }
    
        public static RMB operator +(RMB a, RMB b)
        {
            a.Fen += b.Fen;
            a.Jiao += b.Jiao;
            a.Yuan += b.Yuan;
            if (a.Fen > 9)
            {
                a.Fen -= 10;
                a.Jiao += 1;
            }
            if (a.Jiao > 10)
            {
                a.Jiao -= 10;
                a.Yuan += 1;
            }
    
            return a;
        }
        public static RMB operator -(RMB a, RMB b)
        {
            a.Fen -= b.Fen;
            a.Jiao -= b.Jiao;
            a.Yuan -= b.Yuan;
            if (a.Fen < 0)
            {
                a.Fen += 10;
                a.Jiao -= 1;
            }
            if (a.Jiao < 0)
            {
                a.Jiao += 10;
                a.Yuan -= 1;
            }
            return a;
    
        }
        public void Print()
        {
            Console.WriteLine($"{Yuan}元{Jiao}角{Fen}分");
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            RMB a = new RMB(3, 2, 0);
            RMB b = new RMB(6, 1, 2);
            Console.Write("a:");
            a.Print();
            Console.Write("b:");
            b.Print();
            a += b;
            Console.Write("a+b:");
            a.Print();
            RMB c = new RMB(3, 4, 5);
            Console.Write("c:");
            c.Print();
            a -= c;
            Console.Write("a-c:");
            a.Print();
            Console.ReadLine();
    
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上