C#控制台制作简易计算器(建议收藏!!!)

Love The Way You Lie 2023-02-16 00:53 20阅读 0赞

前言:在C#控制台应用程序中通过面向对象-封装的方式来实现计算器的基本功能,可进行+、-、×、÷、%这几种简单运算。

目录:

    • 一、封装计算功能的方法
    • 二、在主类中调用封装好的方法输出所计算的结果
    • 三、效果图

一、封装计算功能的方法

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Test_Calculator
  7. {
  8. /// <summary>
  9. /// 实现计算功能
  10. /// </summary>
  11. class Person
  12. {
  13. /// <summary>
  14. /// 实现计算功能的方法
  15. /// </summary>
  16. /// <param name="Num1">第一个数</param>
  17. /// <param name="Num2">第二个数</param>
  18. /// <param name="FuHao">运算符号</param>
  19. public void calculate(double Num1,double Num2,string Fuhao)//三个形参
  20. {
  21. double result = 0;
  22. switch (Fuhao)
  23. {
  24. case "+":
  25. result = Num1 + Num2;
  26. Console.WriteLine($"这两个数之和为:{result}");
  27. break;
  28. case "-":
  29. result = Num1 - Num2;
  30. Console.WriteLine($"这两个数之差为:{result}");
  31. break;
  32. case "*":
  33. result = Num1 * Num2;
  34. Console.WriteLine($"这两个数之积为:{result}");
  35. break;
  36. case "/":
  37. switch (Num2)//当符号为/的时候,判断输入的第二个数是否为0,如果为0,则重新输入第二个数(不为0);反则正常运行除法运算
  38. {
  39. case 0:
  40. Console.WriteLine("请重新输入第二个数(不等于0)");
  41. double rNum2 = double.Parse(Console.ReadLine());
  42. result = Num1 / rNum2;
  43. Console.WriteLine($"这两个数的商为:{result}");
  44. break;
  45. default:
  46. result = Num1 / Num2;
  47. Console.WriteLine($"这两个数的商为:{result}");
  48. break;
  49. }
  50. break;
  51. case "%":
  52. switch (Num2)//当符号为%的时候,判断输入的第二个数是否为0,如果为0,则重新输入第二个数(不为0);反则正常运行取余运算
  53. {
  54. case 0:
  55. Console.WriteLine("请重新输入第二个数(不等于0)");
  56. double rNum2 = double.Parse(Console.ReadLine());
  57. result = Num1 % rNum2;
  58. Console.WriteLine($"这两个数取余为:{result}");
  59. break;
  60. default:
  61. result = Num1 % Num2;
  62. Console.WriteLine($"这两个数取余为:{result}");
  63. break;
  64. }
  65. break;
  66. default:
  67. Console.WriteLine("请输入正确的运算符号:");
  68. string rFuhao = Console.ReadLine();
  69. switch (rFuhao)
  70. {
  71. case "+":
  72. result = Num1 + Num2;
  73. Console.WriteLine($"这两个数之和为:{result}");
  74. break;
  75. case "-":
  76. result = Num1 - Num2;
  77. Console.WriteLine($"这两个数之差为:{result}");
  78. break;
  79. case "*":
  80. result = Num1 * Num2;
  81. Console.WriteLine($"这两个数之积为:{result}");
  82. break;
  83. case "/":
  84. switch (Num2)
  85. {
  86. case 0:
  87. Console.WriteLine("请重新输入第二个数(不等于0)");
  88. double rNum2 = double.Parse(Console.ReadLine());
  89. result = Num1 / rNum2;
  90. Console.WriteLine($"这两个数的商为:{result}");
  91. break;
  92. default:
  93. result = Num1 / Num2;
  94. Console.WriteLine($"这两个数的商为:{result}");
  95. break;
  96. }
  97. break;
  98. case "%":
  99. switch (Num2)
  100. {
  101. case 0:
  102. Console.WriteLine("请重新输入第二个数(不等于0)");
  103. double rNum2 = double.Parse(Console.ReadLine());
  104. result = Num1 % rNum2;
  105. Console.WriteLine($"这两个数取余为:{result}");
  106. break;
  107. default:
  108. result = Num1 % Num2;
  109. Console.WriteLine($"这两个数取余为:{result}");
  110. break;
  111. }
  112. break;
  113. }
  114. break;
  115. }
  116. }
  117. }
  118. }

二、在主类中调用封装好的方法输出所计算的结果

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net.Http;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Test_Calculator
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Console.WriteLine("请输入第一个数:");
  14. double num1 = double.Parse(Console.ReadLine());//将用户输入的第一个数存储为num1
  15. Console.WriteLine("请输入第二个数:");
  16. double num2 = double.Parse(Console.ReadLine());//将用户输入的第二个数存储为num2
  17. Console.WriteLine("请输入运算符号:+、-、*、/、%");
  18. string fuhao = Console.ReadLine();//将用户输入的运算符号存储为fuhao
  19. Person per = new Person();//实例化Person类
  20. per.calculate(num1, num2, fuhao);//调用Person类里面的calculate方法,实现计算功能
  21. Console.ReadLine();//添加这行代码的目的是:防止控制台程序启动后一闪而过
  22. //Console.ReadLine();//用户按下回车(Enter)键退出控制台程序
  23. //Console.ReadKey();//用户按下任意键退出控制台程序
  24. }
  25. }
  26. }

三、效果图

1.运算符输入错误
在这里插入图片描述
2.两数之和
在这里插入图片描述
3.两数之差
在这里插入图片描述
4.两数之积
在这里插入图片描述
5.两数之商(当输入的第二数为0时,让用户重新输入第二个数(不为0))
在这里插入图片描述
6.两数取余(输入的第二个数为0,则重新输入第二个数(不为0))
在这里插入图片描述


看完记得点赞收藏嗷!!!

下期讲解:

Console.Write()与Console.WriteLine()的区别

Console.Read()与Console.ReadLine()的区别以及Console.ReadLine()与Console.ReadKey()的区别

发表评论

表情:
评论列表 (有 0 条评论,20人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言 简易计算器

    应度友邀请,用c写了个简易的命令行计算器,其功能大致如下: 设计简单的计算器,允许用户输入简单表达式(一元运算和二元运算表达式,以=结尾),输出计算结果,并等待用户继