Ejemplo n.º 1
0
 private void button4_Click(object sender, EventArgs e)
 {
     procces     = new Divi();
     procces.D1  = double.Parse(textBox1.Text);
     procces.D2  = double.Parse(textBox2.Text);
     label3.Text = procces.Calcular().ToString();
 }
Ejemplo n.º 2
0
 private void button4_Click(object sender, EventArgs e)
 {
     ingreso4        = new Divi();
     ingreso4.Campo1 = double.Parse(textBox1.Text);
     ingreso4.Campo2 = double.Parse(textBox2.Text);
     label4.Text     = ingreso4.calcular().ToString();
 }
Ejemplo n.º 3
0
        //Returnere en Operator der bruger den aritmetiske type på hvert af ledene. Gives {"1", "2*3", "4/5"} og Add som type, returneres en operator hvis GetValue() retunere værdien af de tre led adderet.
        public static Operator CreateChain(string[] links, Arithmetics type)
        {
            //Da der som minimum kræver to led kastes en fejl, hvis der er mindre en to led
            if (links.Length < 2)
            {
                throw new ArgumentOutOfRangeException("links", "Cannot create chain with less than two links");
            }
            Operator[] ops = new Operator[links.Length - 1]; //Der kræves (antal led - 1) Operatorer
            for (int i = 0; i < links.Length - 1; i++)       //Kører hver enkelt led igennem og tilføjer det til kæden
            {
                //Først defineres det hvilken aritmetisk type der bruges. Dette kan gøres da Add, Minus osv. inheritor fra den abstracte class Operator
                Operator op;
                if (type == Arithmetics.Add)
                {
                    op = new Add();
                }
                else if (type == Arithmetics.Minus)
                {
                    op = new Minus();
                }
                else if (type == Arithmetics.Multi)
                {
                    op = new Multi();
                }
                else if (type == Arithmetics.Divi)
                {
                    op = new Divi();
                }
                else
                {
                    op = new Power();
                }

                //Håndtering af første operator i kæden
                if (i == 0)                                                 //Speciel start da vi ved den første har et udtryk og ikke en tidligere lavet del af kæden
                {
                    if (ParentesCheck(ref links[i], out bool toBeInverted)) //Håndtering af parenteser. Hvis parenteses er negativ er "toBeInverted" true
                    {
                        op.SetOne(CreateTree(links[i]).Invert(toBeInverted));
                    }
                    else if (SplitUpMore(links[i /* 0 */], out Arithmetics splitType)) //Håndtering af udtryk, der skal splittes mere op.
                    {
                        op.SetOne(CreateChain(Split(links[0], splitType), splitType));
                    }
                    else
                    {
                        op.SetOne(double.Parse(links[i])); //Hvis dette led uddelukkende består af et tal, bliver dette indsat
                    }
                }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            Sumando totalsuma = new Sumando(5, 8);

            totalsuma.getSuma();
            Resta totalresta = new Resta(5, 8);

            totalresta.getResta();
            Multi totalmulti = new Multi(5, 8);

            totalmultu.getMulti();
            Divi totaldivi = new Divi(5, 8);

            totaldivi.getDivi();


            Console.WriteLine("suma" + totalsuma.getSuma());
            Console.WriteLine("Resta" + totalresta.getResta());
            Console.WriteLine("Multiplicacion" + totalmulti.getMulti());
            Console.WriteLine("Divicion" + totaldivi.getDivi());
        }