Exemplo n.º 1
0
    public static void Main(string[] args)
    {
        Assembly a = Assembly.LoadFrom("Calc.dll");

        Console.WriteLine("Classes and Methods in Calc.dll");
        foreach (Type t in a.GetTypes())
        {
            Console.WriteLine("Class Name : " + t.Name);
            Console.WriteLine("Methods in " + t.Name + ":");
            foreach (MethodInfo method in t.GetMethods())
            {
                Console.WriteLine(method);
            }
            Console.WriteLine(" ");
        }
        string choicecalculator, simpcalc, complcalc;

        do
        {
            Console.WriteLine("Select 1 for simple calculator, 2 for complex calculator and 3 to quit");
            choicecalculator = Console.ReadLine();

            if (choicecalculator == "1")
            {
                Console.WriteLine("Simple Calculator was selected");

                Console.WriteLine("Select 1 for add, 2 for sub, 3 to mult and 4 to div");
                simpcalc = Console.ReadLine();
                int c, d;
                if (simpcalc == "1")
                {
                    Console.WriteLine("enter in the first int:");
                    string first = Console.ReadLine();
                    Console.WriteLine("enter in the second int:");
                    string second = Console.ReadLine();
                    c = int.Parse(first);
                    d = int.Parse(second);
                    SimpleCalc myClassObj   = new SimpleCalc();
                    Type       myTypeObj    = myClassObj.GetType();
                    MethodInfo myMethodInfo = myTypeObj.GetMethod("add");
                    object[]   mParam       = new object[] { c, d };
                    Console.Write("Result: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }
                if (simpcalc == "2")
                {
                    Console.WriteLine("enter in the first int:");
                    string first = Console.ReadLine();
                    Console.WriteLine("enter in the second int:");
                    string second = Console.ReadLine();
                    c = int.Parse(first);
                    d = int.Parse(second);
                    SimpleCalc myClassObj   = new SimpleCalc();
                    Type       myTypeObj    = myClassObj.GetType();
                    MethodInfo myMethodInfo = myTypeObj.GetMethod("sub");
                    object[]   mParam       = new object[] { c, d };
                    Console.Write("Result: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }

                if (simpcalc == "3")
                {
                    Console.WriteLine("enter in the first int:");
                    string first = Console.ReadLine();
                    Console.WriteLine("enter in the second int:");
                    string second = Console.ReadLine();
                    c = int.Parse(first);
                    d = int.Parse(second);
                    SimpleCalc myClassObj   = new SimpleCalc();
                    Type       myTypeObj    = myClassObj.GetType();
                    MethodInfo myMethodInfo = myTypeObj.GetMethod("mult");
                    object[]   mParam       = new object[] { c, d };
                    Console.Write("Result: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }
                if (simpcalc == "4")
                {
                    double x, y;
                    Console.WriteLine("enter in the first int:");
                    string first = Console.ReadLine();
                    Console.WriteLine("enter in the second int:");
                    string second = Console.ReadLine();
                    x = double.Parse(first);
                    y = double.Parse(second);
                    SimpleCalc myClassObj   = new SimpleCalc();
                    Type       myTypeObj    = myClassObj.GetType();
                    MethodInfo myMethodInfo = myTypeObj.GetMethod("div");
                    object[]   mParam       = new object[] { x, y };
                    Console.Write("Result: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }
            }

            if (choicecalculator == "2")
            {
                Console.WriteLine("Complex Calculator was selected");

                Console.WriteLine("Select 1 for add, 2 for sub, 3 to mult and 4 to div");
                complcalc = Console.ReadLine();
                int c, d, e, f;
                if (complcalc == "1")
                {
                    Console.WriteLine("enter in the first real int:");
                    string firstreal = Console.ReadLine();
                    Console.WriteLine("enter in the first imaginary int:");
                    string firstim = Console.ReadLine();
                    c = int.Parse(firstreal);
                    d = int.Parse(firstim);

                    Console.WriteLine("enter in the second real int:");
                    string secondreal = Console.ReadLine();
                    Console.WriteLine("enter in the second imaginary int:");
                    string secondim = Console.ReadLine();
                    e = int.Parse(secondreal);
                    f = int.Parse(secondim);

                    ComplexCalc myClassObj   = new ComplexCalc();
                    Type        myTypeObj    = myClassObj.GetType();
                    MethodInfo  myMethodInfo = myTypeObj.GetMethod("addreal");
                    object[]    mParam       = new object[] { c, e };
                    Console.Write("Real: " + myMethodInfo.Invoke(myClassObj, mParam));

                    myMethodInfo = myTypeObj.GetMethod("addim");
                    mParam       = new object[] { d, f };
                    Console.Write("im: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }

                if (complcalc == "2")
                {
                    Console.WriteLine("enter in the first real int:");
                    string firstreal = Console.ReadLine();
                    Console.WriteLine("enter in the first imaginary int:");
                    string firstim = Console.ReadLine();
                    c = int.Parse(firstreal);
                    d = int.Parse(firstim);

                    Console.WriteLine("enter in the second real int:");
                    string secondreal = Console.ReadLine();
                    Console.WriteLine("enter in the second imaginary int:");
                    string secondim = Console.ReadLine();
                    e = int.Parse(secondreal);
                    f = int.Parse(secondim);

                    ComplexCalc myClassObj   = new ComplexCalc();
                    Type        myTypeObj    = myClassObj.GetType();
                    MethodInfo  myMethodInfo = myTypeObj.GetMethod("subreal");
                    object[]    mParam       = new object[] { c, e };
                    Console.Write("Real: " + myMethodInfo.Invoke(myClassObj, mParam));

                    myMethodInfo = myTypeObj.GetMethod("subim");
                    mParam       = new object[] { d, f };
                    Console.Write("im: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }

                if (complcalc == "3")
                {
                    Console.WriteLine("enter in the first real int:");
                    string firstreal = Console.ReadLine();
                    Console.WriteLine("enter in the first imaginary int:");
                    string firstim = Console.ReadLine();
                    c = int.Parse(firstreal);
                    d = int.Parse(firstim);

                    Console.WriteLine("enter in the second real int:");
                    string secondreal = Console.ReadLine();
                    Console.WriteLine("enter in the second imaginary int:");
                    string secondim = Console.ReadLine();
                    e = int.Parse(secondreal);
                    f = int.Parse(secondim);

                    ComplexCalc myClassObj   = new ComplexCalc();
                    Type        myTypeObj    = myClassObj.GetType();
                    MethodInfo  myMethodInfo = myTypeObj.GetMethod("multreal");
                    object[]    mParam       = new object[] { c, e };
                    Console.Write("Real: " + myMethodInfo.Invoke(myClassObj, mParam));

                    myMethodInfo = myTypeObj.GetMethod("multim");
                    mParam       = new object[] { d, f };
                    Console.Write("im: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }

                if (complcalc == "4")
                {
                    double p, l, o, k;
                    Console.WriteLine("enter in the first real int:");
                    string firstreal = Console.ReadLine();
                    Console.WriteLine("enter in the first imaginary int:");
                    string firstim = Console.ReadLine();
                    p = double.Parse(firstreal);
                    l = double.Parse(firstim);

                    Console.WriteLine("enter in the second real int:");
                    string secondreal = Console.ReadLine();
                    Console.WriteLine("enter in the second imaginary int:");
                    string secondim = Console.ReadLine();
                    o = int.Parse(secondreal);
                    k = int.Parse(secondim);

                    ComplexCalc myClassObj   = new ComplexCalc();
                    Type        myTypeObj    = myClassObj.GetType();
                    MethodInfo  myMethodInfo = myTypeObj.GetMethod("divreal");
                    object[]    mParam       = new object[] { p, o };
                    Console.Write("Real: " + myMethodInfo.Invoke(myClassObj, mParam));

                    myMethodInfo = myTypeObj.GetMethod("divim");
                    mParam       = new object[] { l, k };
                    Console.Write("im: " + myMethodInfo.Invoke(myClassObj, mParam) + " \n");
                }
            }
        }while(choicecalculator != "3");
    }
Exemplo n.º 2
0
        private void Calculate(object sender, RoutedEventArgs e)
        {
            Button b = (Button)sender;

            if (b.Name == "SinT")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    Result.Text = "Result: " + s.sin(Convert.ToSingle(Num1.Text));
                }
                catch (FormatException)
                {
                    Result.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "CosT")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    Result.Text = "Result: " + s.cos(Convert.ToSingle(Num1.Text));
                }
                catch (FormatException)
                {
                    Result.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "TanT")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    Result.Text = "Result: " + s.tan(Convert.ToSingle(Num1.Text));
                }
                catch (FormatException)
                {
                    Result.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimplePlus")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.add(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimpleMinus")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.subtract(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimpleMultiply")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.multiply(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimpleDivide")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.divide(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimplePower")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.pow(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "SimpleModulous")
            {
                SimpleCalc s = new SimpleCalc();
                try
                {
                    SimpleResult.Text = "Result: " + s.mod(Convert.ToSingle(SimpleNum1.Text), Convert.ToSingle(SimpleNum2.Text));
                }
                catch (FormatException)
                {
                    SimpleResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "ComplexPlus")
            {
                ComplexCalc c = new ComplexCalc();
                try
                {
                    cFloat num1 = new cFloat(Convert.ToSingle(ComplexReal1.Text), Convert.ToSingle(ComplexImg1.Text));
                    cFloat num2 = new cFloat(Convert.ToSingle(ComplexReal2.Text), Convert.ToSingle(ComplexImg2.Text));
                    cFloat res  = c.add(num1, num2);
                    ComplexResult.Text = "Result: (" + res.getReal() + "," + res.getImg() + ")";
                }
                catch (FormatException)
                {
                    ComplexResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "ComplexMinus")
            {
                ComplexCalc c = new ComplexCalc();
                try
                {
                    cFloat num1 = new cFloat(Convert.ToSingle(ComplexReal1.Text), Convert.ToSingle(ComplexImg1.Text));
                    cFloat num2 = new cFloat(Convert.ToSingle(ComplexReal2.Text), Convert.ToSingle(ComplexImg2.Text));
                    cFloat res  = c.subtract(num1, num2);
                    ComplexResult.Text = "Result: (" + res.getReal() + "," + res.getImg() + ")";
                }
                catch (FormatException)
                {
                    ComplexResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "ComplexMultiply")
            {
                ComplexCalc c = new ComplexCalc();
                try
                {
                    cFloat num1 = new cFloat(Convert.ToSingle(ComplexReal1.Text), Convert.ToSingle(ComplexImg1.Text));
                    cFloat num2 = new cFloat(Convert.ToSingle(ComplexReal2.Text), Convert.ToSingle(ComplexImg2.Text));
                    cFloat res  = c.multiply(num1, num2);
                    ComplexResult.Text = "Result: (" + res.getReal() + "," + res.getImg() + ")";
                }
                catch (FormatException)
                {
                    ComplexResult.Text = "Please Enter Valid Numbers";
                }
            }
            else if (b.Name == "ComplexDivide")
            {
                ComplexCalc c = new ComplexCalc();
                try
                {
                    cFloat num1 = new cFloat(Convert.ToSingle(ComplexReal1.Text), Convert.ToSingle(ComplexImg1.Text));
                    cFloat num2 = new cFloat(Convert.ToSingle(ComplexReal2.Text), Convert.ToSingle(ComplexImg2.Text));
                    cFloat res  = c.divide(num1, num2);
                    ComplexResult.Text = "Result: (" + res.getReal() + "," + res.getImg() + ")";
                }
                catch (FormatException)
                {
                    ComplexResult.Text = "Please Enter Valid Numbers";
                }
            }
        }