C#之简易计算器设计

在学完了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)
         {

        }
     }
}

本设计界面如下:

image

部分计算如下:

99+12=111;

image

(99)-(-18)=117

image

99*(-18)=-1782

image

99/(-18)=-5.5

image

99%(-18)=9

image

posted @ 2018-07-07 15:30 WangHongLong 阅读(...) 评论(...) 编辑 收藏