文章标题

定义分数(Fraction)类:
1)、成员变量
私有字段以及可读可写属性:分子、分母
2)、成员方法:
* 打印分数信息(例如: 1 / 3)
* 约分
* 创建一个方法交换分子和分母的值
* 创建一个方法能同时得到加、减、乘、除、求余运算;

    public class Fraction 
    {
        private int member;
        private int denominator;
        Fraction[] result = new Fraction[5];
        {
            get {
                return member;
                }
            set {
                member = value;
                }
        }

        public int Denominator
         {

            get {
                return denominator;
                }
            set {
                if (value != 0) 
                {
                    denominator = value;
                }
                }

        }

        //打印分数信息
            public void PrintFraction () 
            {
            Console.WriteLine (member + " / " + denominator);
            }
        //约分
        public void Reduction ()
         {
            int gcd = GCD (this.Member, this.Denominator);
            this.Member /= gcd;
            this.Denominator /= gcd;
        }

        //先求最大公约数
        private int GCD (int a, int b) { 
            int temp = 0;
            while (b != 0) {
                temp = a % b;
                a = b;
                b = temp;
            }
            return a;
        }

        public Fraction Exchange () {

            Fraction newFra = new Fraction ();
            newFra.member = this.denominator;
            newFra.denominator = this.member;
            return newFra;
        }

//获取所有运算的值存入分数类型的数组
        public Fraction[] AllOperation (Fraction fra)
         {
            result [0] = Add (fra);
            result [1] = Sub (fra);
            result [2] = Mult (fra);
            result [3] = Division (fra);
            result [4] = Remain (fra);

            return result;
        }
        //输入运算符号求值
        public Fraction Operation(char c)
        {
            switch (c)
            {
                case '+':
                    {                       
                        return result[0];

                    }
                case '-':
                    {
                        return result[1];
                    }
                case '*':
                    {
                        return result[2];
                    }
                case '/':
                    {
                        return result[3];
                    }
                case '%':
                    {
                        return result[4];
                    }

                default:
                    return  null;
            }
        }


        //加法
        public Fraction Add (Fraction fra)
         {
            //存放加法结果
            Fraction sum = new Fraction ();
            sum.Member = this.member * fra.Denominator + fra.Member * this.denominator;
            sum.Denominator = this.Denominator * fra.Denominator;
            //约分
            sum.Reduction ();

            return sum;
        }
        //减法
        public Fraction Sub (Fraction fra) 
        {
            //存放加法结果
            Fraction sum = new Fraction ();
            sum.Member = this.member * fra.Denominator - fra.Member * this.denominator;
            sum.Denominator = this.Denominator * fra.Denominator;
            //约分
            sum.Reduction ();

            return sum;
        }

        //乘法
        public Fraction Mult (Fraction fra) 
        {
            //存放加法结果
            Fraction sum = new Fraction ();
            sum.Member = this.member * fra.Member;
            sum.Denominator = this.Denominator * fra.Denominator;
            //约分
            sum.Reduction ();

            return sum;
        }

        //除法
        public Fraction Division (Fraction fra) 
        {
            //存放加法结果
            Fraction sum = new Fraction ();
            //求倒数
            Fraction newFra = fra.Exchange ();

            sum.Member = this.member * newFra.member;
            sum.Denominator = this.denominator * newFra.denominator;
            //约分
            sum.Reduction ();
            return sum;
        }

        //求余
        public Fraction Remain (Fraction fra) 
        {
            //存放加法结果
            Fraction sum = new Fraction ();
            sum.Member = (this.member * fra.Denominator) % (fra.Member * this.denominator);
            sum.Denominator = this.Denominator * fra.Denominator;
            //约分
            sum.Reduction ();
            return sum;
        }
    }

主函数

            Fraction fra_1 = new Fraction ();
            fra_1.Member = 32;
            fra_1.Denominator = 64;
            fra_1.Reduction ();//约分
            //fra_1.PrintFraction ();//打印
            //3 / 6 + 4 / 6

            Fraction fra_2 = new Fraction ();
            fra_2.Member = 12;
            fra_2.Denominator = 64;

             fra_1.AllOperation (fra_2);//获得所有运算的值存入数组result中

            char ch = char.Parse(Console.ReadLine());
            Fraction r = new Fraction();
             r= fra_1.Operation(ch);            
             r.PrintFraction();



            //foreach (Fraction fra in res)
            //{

            //    fra.PrintFraction();

            //}

            //          Fraction sum = fra_1.Division (fra_2);
            //          sum.PrintFraction ();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值