欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#之简易计算器设计

程序员文章站 2023-10-15 10:05:41
在学完了C#的方法和数据类型之后,写了一个简易的计算器的界面。本次界面具备加减乘除求余等五项运算。不过存在一点缺陷就是无法判断输入数据的类型,是整数还是小数,由于目前所学知识有限,等学到以后再进行完善。 本设计源代码如下: using System; using System.Collections ......

在学完了C#的方法和数据类型之后,写了一个简易的计算器的界面。本次界面具备加减乘除求余等五项运算。不过存在一点缺陷就是无法判断输入数据的类型,是整数还是小数,由于目前所学知识有限,等学到以后再进行完善。

本设计源代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;


namespace MathsOperators
{
     /// <summary>
     /// MainWindow.xaml 的交互逻辑
     /// </summary>
     public partial class MainWindow : Window
     {
         int OperandFlag=0;
         public MainWindow()
         {
             InitializeComponent();
         }

        private void Quit_Click(object sender, RoutedEventArgs e)
         {
             Close();//关闭WPF窗口
         }
         /*编写加法的方法*/
         private void AddStractValue()
         {
             int Left = int.Parse(LeftNum.Text);
             int Right = int.Parse(RightNum.Text);
             int ShowResult = Left + Right;
             Expresssion.Text ="("+ Left+")" + "+" +"("+ Right+")";
             Result.Text = ShowResult.ToString();
         }
         /*编写减法的方法*/
         private void SubStractValue()
         {
             int Left = int.Parse(LeftNum.Text);
             int Right = int.Parse(RightNum.Text);
             int ShowResult = Left - Right;
             Expresssion.Text = "(" + Left + ")" + "-" + "(" + Right + ")";
             Result.Text = ShowResult.ToString();
         }
               /*编写乘法的方法*/
         private void MultStractValue()
         {
             int Left = int.Parse(LeftNum.Text);
             int Right = int.Parse(RightNum.Text);
             int ShowResult = Left * Right;
             Expresssion.Text = "(" + Left + ")" + "*" + "(" + Right + ")";
             Result.Text = ShowResult.ToString();
         }
         /*编写除法的方法*/
         private void DivStractValue()
         {
             int Left = int.Parse(LeftNum.Text);
             int Right = int.Parse(RightNum.Text);
             float ShowResult = (float)(Left) / Right;
             Expresssion.Text = "(" + Left + ")" + "/" + "(" + Right + ")";
             Result.Text = ShowResult.ToString();
         }
         /*编写求余法的方法*/
         private void RemStractValue()
         {
             int Left = int.Parse(LeftNum.Text);
             int Right = int.Parse(RightNum.Text);
             int ShowResult = Left % Right;
             Expresssion.Text = "(" + Left + ")" + "%" + "(" + Right + ")";
             Result.Text = ShowResult.ToString();
         }
         private void Calculate_Click(object sender, RoutedEventArgs e)
         {
             switch (OperandFlag)
             {
                 case 1: AddStractValue();  break;
                 case 2: SubStractValue();  break;
                 case 3: MultStractValue(); break;
                 case 4: DivStractValue();  break;
                 case 5: RemStractValue();  break;
                 default: break;
             }
           
         }

        private void Add_Checked(object sender, RoutedEventArgs e)
         {
             OperandFlag = 1;
         }

        private void Sub_Checked(object sender, RoutedEventArgs e)
         {
             OperandFlag = 2;
         }

        private void Mult_Checked(object sender, RoutedEventArgs e)
         {
             OperandFlag = 3;
         }

        private void Div_Checked(object sender, RoutedEventArgs e)
         {
             OperandFlag = 4;
         }
         private void Remain_Checked(object sender, RoutedEventArgs e)
         {
             OperandFlag = 5;
         }
         private void LeftNum_TextChanged(object sender, TextChangedEventArgs e)
         {

        }
     }
}

本设计界面如下:

部分计算如下:

99+12=111;

(99)-(-18)=117

99*(-18)=-1782

99/(-18)=-5.5

99%(-18)=9