C#控制台制作简易计算器(建议收藏!!!)
前言:在C#控制台应用程序中通过面向对象-封装的方式来实现计算器的基本功能,可进行+、-、×、÷、%这几种简单运算。
目录:
- 一、封装计算功能的方法
- 二、在主类中调用封装好的方法输出所计算的结果
- 三、效果图
一、封装计算功能的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test_Calculator
{
/// <summary>
/// 实现计算功能
/// </summary>
class Person
{
/// <summary>
/// 实现计算功能的方法
/// </summary>
/// <param name="Num1">第一个数</param>
/// <param name="Num2">第二个数</param>
/// <param name="FuHao">运算符号</param>
public void calculate(double Num1,double Num2,string Fuhao)//三个形参
{
double result = 0;
switch (Fuhao)
{
case "+":
result = Num1 + Num2;
Console.WriteLine($"这两个数之和为:{result}");
break;
case "-":
result = Num1 - Num2;
Console.WriteLine($"这两个数之差为:{result}");
break;
case "*":
result = Num1 * Num2;
Console.WriteLine($"这两个数之积为:{result}");
break;
case "/":
switch (Num2)//当符号为/的时候,判断输入的第二个数是否为0,如果为0,则重新输入第二个数(不为0);反则正常运行除法运算
{
case 0:
Console.WriteLine("请重新输入第二个数(不等于0)");
double rNum2 = double.Parse(Console.ReadLine());
result = Num1 / rNum2;
Console.WriteLine($"这两个数的商为:{result}");
break;
default:
result = Num1 / Num2;
Console.WriteLine($"这两个数的商为:{result}");
break;
}
break;
case "%":
switch (Num2)//当符号为%的时候,判断输入的第二个数是否为0,如果为0,则重新输入第二个数(不为0);反则正常运行取余运算
{
case 0:
Console.WriteLine("请重新输入第二个数(不等于0)");
double rNum2 = double.Parse(Console.ReadLine());
result = Num1 % rNum2;
Console.WriteLine($"这两个数取余为:{result}");
break;
default:
result = Num1 % Num2;
Console.WriteLine($"这两个数取余为:{result}");
break;
}
break;
default:
Console.WriteLine("请输入正确的运算符号:");
string rFuhao = Console.ReadLine();
switch (rFuhao)
{
case "+":
result = Num1 + Num2;
Console.WriteLine($"这两个数之和为:{result}");
break;
case "-":
result = Num1 - Num2;
Console.WriteLine($"这两个数之差为:{result}");
break;
case "*":
result = Num1 * Num2;
Console.WriteLine($"这两个数之积为:{result}");
break;
case "/":
switch (Num2)
{
case 0:
Console.WriteLine("请重新输入第二个数(不等于0)");
double rNum2 = double.Parse(Console.ReadLine());
result = Num1 / rNum2;
Console.WriteLine($"这两个数的商为:{result}");
break;
default:
result = Num1 / Num2;
Console.WriteLine($"这两个数的商为:{result}");
break;
}
break;
case "%":
switch (Num2)
{
case 0:
Console.WriteLine("请重新输入第二个数(不等于0)");
double rNum2 = double.Parse(Console.ReadLine());
result = Num1 % rNum2;
Console.WriteLine($"这两个数取余为:{result}");
break;
default:
result = Num1 % Num2;
Console.WriteLine($"这两个数取余为:{result}");
break;
}
break;
}
break;
}
}
}
}
二、在主类中调用封装好的方法输出所计算的结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace Test_Calculator
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数:");
double num1 = double.Parse(Console.ReadLine());//将用户输入的第一个数存储为num1
Console.WriteLine("请输入第二个数:");
double num2 = double.Parse(Console.ReadLine());//将用户输入的第二个数存储为num2
Console.WriteLine("请输入运算符号:+、-、*、/、%");
string fuhao = Console.ReadLine();//将用户输入的运算符号存储为fuhao
Person per = new Person();//实例化Person类
per.calculate(num1, num2, fuhao);//调用Person类里面的calculate方法,实现计算功能
Console.ReadLine();//添加这行代码的目的是:防止控制台程序启动后一闪而过
//Console.ReadLine();//用户按下回车(Enter)键退出控制台程序
//Console.ReadKey();//用户按下任意键退出控制台程序
}
}
}
三、效果图
1.运算符输入错误
2.两数之和
3.两数之差
4.两数之积
5.两数之商(当输入的第二数为0时,让用户重新输入第二个数(不为0))
6.两数取余(输入的第二个数为0,则重新输入第二个数(不为0))
还没有评论,来说两句吧...