what do u mean by "change the type of the equation to be in struct" ??
On Sat, Jul 11, 2009 at 9:15 PM, thread <[email protected]> wrote: > > Hi all, > i need to change the types of the equation to be in struct > any idea? > class SecondDegreeEquationSolution > { > double[] solutions; > > public SecondDegreeEquationSolution() > { > solutions = new double[0]; > } > public SecondDegreeEquationSolution(double _solution) > { > solutions = new double[1]; > solutions[0] = _solution; > } > public SecondDegreeEquationSolution(double _solution1,double > _solution2) > { > solutions = new double[2]; > solutions[0] = _solution1; > solutions[1] = _solution2; > } > public int NumberOfSolutions > { > get > { > return solutions.Length; > } > } > public double this[int n] > { > get > { > if(solutions.Length == 1 && n == 1) > return (solutions[0]); > else if(solutions.Length == 2 && (n == 1 || > n == 2)) > return (solutions[n-1]); > else return double.NaN; > } > } > } > class SecondDegreeEquationSolver > { > public static SecondDegreeEquationSolution Solve > (SecondDegreeEquation eq) > { > if(eq.A == 0) > { > return new > SecondDegreeEquationSolution(-eq.C/eq.B); > } > double d = eq.B * eq.B - 4 * eq.A * eq.C; > if(d<0) > return new SecondDegreeEquationSolution(); > else if(d==0) > return new > SecondDegreeEquationSolution(-eq.B/2*(eq.A)); > else return new > SecondDegreeEquationSolution((-eq.B+Math.Sqrt(d))/ > 2*eq.A,(-eq.B-Math.Sqrt(d))/2*eq.A ); > } > } > > class SecondDegreeEquation > { > double a,b,c; > public SecondDegreeEquation(double _a,double _b,double _c) > { > a = _a; > b = _b; > c = _c; > } > public double A > { > set > { > a = value; > } > get > { > return a; > } > } > public double B > { > set > { > b = value; > } > get > { > return b; > } > } > public double C > { > set > { > c = value; > } > get > { > return c; > } > } > } > class MainClass > { > static void Main(string[] args) > { > string strEndProgram; > Console.Out.WriteLine("This program solves equation > of the form [ax² > +bx+c=0]"); > bool endProgram = false; > do > { > Console.Out.Write("Please enter the value of > a:"); > double a = > double.Parse(Console.In.ReadLine()); > Console.Out.Write("Please enter the value of > b:"); > double b = > double.Parse(Console.In.ReadLine()); > Console.Out.Write("Please enter the value of > c:"); > double c = > double.Parse(Console.In.ReadLine()); > > SecondDegreeEquation eq = new > SecondDegreeEquation(a,b,c); > SecondDegreeEquationSolution solutions = > SecondDegreeEquationSolver.Solve(eq); > switch(solutions.NumberOfSolutions) > { > case 0: > System.Console.WriteLine("No > Solution"); > break; > case 1: > Console.Out.WriteLine("The > Solution is:{0}",solutions[1]); > break; > case 2: > Console.Out.WriteLine("The > Solution is:{0},{1}",solutions > [1],solutions[2] ); > break; > } > do > { > Console.Out.Write("Would you like to > solve another equation?(y/ > n)"); > strEndProgram = > Console.In.ReadLine(); > } > while(strEndProgram!="n" && > strEndProgram!="y"); > if(strEndProgram.StartsWith("n")) > endProgram = true; > } > while(!endProgram); > } > } > -- Akram Mellice
