文章标题
2017-08-23 20:54
134 查看
定义分数(Fraction)类:
1)、成员变量
私有字段以及可读可写属性:分子、分母
2)、成员方法:
* 打印分数信息(例如: 1 / 3)
* 约分
* 创建一个方法交换分子和分母的值
* 创建一个方法能同时得到加、减、乘、除、求余运算;
类
主函数
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 ();