使用多种方法创建一个简单的计算器

时间:2019-11-14 19:35:37

标签: c# methods

我写出了一个使用多种方法的简单计算器。
这是我写的,但是有没有更好/更有效的方法来编写此代码? 建议会有所帮助。

我想使用多种方法并使主方法中的所有内容可见。我知道它看起来很愚蠢,可以用更简单的方式完成,但是我正试图向C#新手并开始学习方法的人们解释这一点。

{
        Console.WriteLine("Please input two numbers");
        int num1 = Convert.ToInt32(Console.ReadLine());
        int num2 = Convert.ToInt32(Console.ReadLine());
        int answer1 = Sum(num1, num2);
        int answer2 = Sub(num1, num2);
        int answer3 = Mult(num1, num2);
        double answer4 = Div(num1, num2);
        Console.WriteLine("Sum: {0}\n"+"Difference: {1} \n"+"Multiplication: {2} \n"+"Division: {3} \n", answer1, answer2, answer3, answer4);
    }

    public static int Sum(int num1, int num2)
    {
        return num1 + num2;
    }

    public static int Sub(int num1, int num2)
    {
        return num1 - num2;
    }
    public static int Mult(int num1, int num2)
    {
        return num1 * num2;
    }
    public static double Div(int num1, int num2)
    {
        return num1 / num2;
    }


}

2 个答案:

答案 0 :(得分:0)

您可以创建一个小菜单来选择要执行的操作。

下面的代码是一个代码示例,您可以参考它。

 class Program
    {
        static void Main(string[] args)
        {
            string a = string.Empty;
            do
            {
                Console.WriteLine("Please input two numbers");
                int num1 = Convert.ToInt32(Console.ReadLine());
                int num2 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Please choose the following you want to do");
                Console.WriteLine("1. Add");
                Console.WriteLine("2. Minus");
                Console.WriteLine("3. Mult");
                Console.WriteLine("4. Div");
                int number = Convert.ToInt32(Console.ReadLine());
                switch (number)
                {
                    case 1:
                        Console.WriteLine("Your result is" + Add(num1, num2));
                        break;
                    case 2:
                        Console.WriteLine("Your result is" + Minus(num1, num2));
                        break;
                    case 3:
                        Console.WriteLine("Your result is" + Mult(num1, num2));
                        break;
                    case 4:
                        Console.WriteLine("Your result is" + Div(num1, num2));
                        break;
                    default:
                        Console.WriteLine("Please input again");
                        break;
                }
                a = Console.ReadLine();
            }
            while (a == "y");
        }

        public static int Add(int num1, int num2)
        {
            return num1 + num2;
        }
        public static int Minus(int num1, int num2)
        {
            return num1 - num2;
        }
        public static int Mult(int num1, int num2)
        {
            return num1 * num2;
        }
        public static double Div(int num1, int num2)
        {
            return num1 / num2;
        }
    }

答案 1 :(得分:-1)

我能想到的唯一可能的改进就是让那些操作员。但是现有的诚信算子运营商涵盖了所有这些情况,only works for your self-created types anyway

与您在控制台上一样。一个带有菜单项/菜单项的do ... while循环可能对程序流程很有用。但我别无其他想法。

数学甚至是很少使用静态方法的地方,其中静态方法不会错位/过度使用。

只有一个小术语nitpick:这些是函数,而不是方法:

  • 函数返回值
  • 方法不

但是,我还没有看到一种语言,实际上在两个时代之间都没有区别。 Delphi或VB可能具有此关键字区别。