.NET技术_计算器的编写

2025-10-23 14:22:03

1、设置图片中控件的相关属性

.NET技术_计算器的编写

2、编写代码

本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量:

double num1, num2, result;                  // 操作艳央数及运算结果

bool decimalFlag;    裁宋                      // 判断输入的是否为小数

string myOperator;                      // 操作类型

接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下:

public void NumClick(int myNumber)

{

   if (decimalFlag)                    // 输入小数

   {

       txtReadout.Text =txtReadout.Text + myNumber;

   }

   else

   {

       if (txtReadout.Text =="0.")    // 输入整数

       {

           // 输入的是整数的个位数字

           txtReadout.Text =myNumber + ".";

       }

       else

       {

           // 输入的不是整数的个位数字

           txtReadout.Text =txtReadout.Text.Substring

               0,txtReadout.Text.Length - 1) + myNumber + ".";

       }

   }

}

编写窗体的载入事件代码如下:

private void Form1_Load(object sender, EventArgs e)

{

   txtReadout.Text ="0.";

   // 指定文本框的对齐方式为右对齐

   txtReadout.TextAlign =HorizontalAlignment.Right;

}

编写数字按钮【0】~【9】的单击事件代码如下:

private void btnNum0_Click(object sender, EventArgs e)

{

   NumClick(0);

}

private void btnNum1_Click(object sender, EventArgs e)

{

   NumClick(1);

}

private void btnNum2_Click(object sender, EventArgs e)

{

   NumClick(2);

}

private void btnNum3_Click(object sender, EventArgs e)

{

   NumClick(3);

}

private void btnNum4_Click(object sender, EventArgs e)

{

   NumClick(4);

}

private void btnNum5_Click(object sender, EventArgs e)

{

   NumClick(5);

}

private void btnNum6_Click(object sender, EventArgs e)

{

   NumClick(6);

}

private void btnNum7_Click(object sender, EventArgs e)

{

   NumClick(7);

}

private void btnNum8_Click(object sender, EventArgs e)

{

   NumClick(8);

}

private void btnNum9_Click(object sender, EventArgs e)

{

   NumClick(9);

}

编写小数点按钮【.】的单击事件代码如下:

private void btnDot_Click(object sender, EventArgs e)

{

   decimalFlag = true;                  //输入小数点

}

编写复位按钮【C】的单击事件代码如下:

private void btnC_Click(object sender, EventArgs e)

{

   num1 = 0;

   num2 = 0;

   txtReadout.Text ="0.";

}

编写【+】、【-】、【*】、【/】按钮的单击侧娃肥事件代码如下:

private void btnAdd_Click(object sender, EventArgs e)

{

   myOperator ="add";

   num1 = double.Parse(txtReadout.Text);

   txtReadout.Text ="0.";

   decimalFlag = false;

}

private void btnSub_Click(object sender, EventArgs e)

{

   myOperator ="Sub";

   num1 =double.Parse(txtReadout.Text);

   txtReadout.Text ="0.";

   decimalFlag = false;

}

private void btnMul_Click(object sender, EventArgs e)

{

   myOperator ="Mul";

   num1 =double.Parse(txtReadout.Text);

   txtReadout.Text ="0.";

   decimalFlag = false;

}

private void btnDiv_Click(object sender, EventArgs e)

{

   myOperator ="Div";

   num1 =double.Parse(txtReadout.Text);

   txtReadout.Text ="0.";

   decimalFlag = false;

}

最后编写【=】按钮的单击事件代码如下:

private void btnAmount_Click(object sender, EventArgs e)

{

   num2 =double.Parse(txtReadout.Text);

   switch (myOperator)

   {

       case "add":

           result = num1 +num2;

           txtReadout.Text =result.ToString();

           break;

       case "Sub":

           result = num1 -num2;

           txtReadout.Text =result.ToString();

           break;

       case "Mul":

           result = num1 *num2;

           txtReadout.Text =result.ToString();

           break;

       case "Div":

           if (num2 == 0)

           {

              txtReadout.Text = "除数不能为“0”!";

           }

           else

           {

               result = num1/ num2;

              txtReadout.Text = result.ToString();

           }

           break;

   }

}

3、运行结果

运行程序,计算加法“23 + 1.8”

.NET技术_计算器的编写

4、单击【C】按钮,再计算加法“2.3 - 18”

.NET技术_计算器的编写

5、单击【C】按钮,再计算加法“2.3 × 1.8”

.NET技术_计算器的编写

6、单击【C】按钮,再计算加法“23.18 ÷ 0”

.NET技术_计算器的编写

7、单击【C】按钮,再计算加法“2.3 ÷ 1.8”

.NET技术_计算器的编写

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢