C#實現(xiàn)簡易計算器功能(附源碼)
本文實例為大家分享了C#實現(xiàn)簡易計算器功能的具體代碼,供大家參考,具體內容如下
剖析:
1、先設計界面(按鈕、文本框(一個顯示算式,一個顯示結果))布局
2、單擊按鈕將其對應內容顯示在文本框中
3、單擊符號(+、-、×、÷、%)時將第一次輸入的數(shù)儲存起來
4、單擊等號時將第二次輸入的數(shù)存儲起來并將第一次輸入的數(shù)與第二次輸入的數(shù)按照所單擊的符號進行運算將結果顯示在第一個文本框中
5、單擊C時將兩個文本框中的內容清空
重點:
1、聲明一個bool類型的變量用于實現(xiàn)單擊符號再次輸入數(shù)字時第一次輸入的數(shù)字清空顯示第二次輸入的數(shù)字
2、聲明兩個double類型的變量用于裝第一次輸入的數(shù)和裝第二次輸入的數(shù)
3、聲明一個string類型的變量用于判斷運算符號
界面布局:

具體代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test_Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//聲明三個變量
string type; //符號類型
double x;//裝第一個數(shù)(按符號(+-×÷%)時textbox1中的數(shù)字)
double y;//裝第二個數(shù)(按等號時textbox1中的數(shù)字)
bool c=false;
private void Form1_Load(object sender, EventArgs e)
{
this.CenterToScreen();//窗體居中顯示
this.Text = "計算器";
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
textBox1.ReadOnly = true;//文本框只讀
textBox2.TabIndex = 0;//光標焦點在textbox2中
}
private void button1_Click(object sender, EventArgs e)
{
if (c==true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "1";
textBox2.Text += "1";
}
private void button2_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "2";
textBox2.Text += "2";
}
private void button3_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "3";
textBox2.Text += "3";
}
private void button4_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "4";
textBox2.Text += "4";
}
private void button5_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "5";
textBox2.Text += "5";
}
private void button6_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "6";
textBox2.Text += "6";
}
private void button7_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "7";
textBox2.Text += "7";
}
private void button8_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "8";
textBox2.Text += "8";
}
private void button9_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "9";
textBox2.Text += "9";
}
private void button10_Click(object sender, EventArgs e)
{
if (c == true)
{
c = false;
textBox1.Text = "";
}
textBox1.Text += "0";
textBox2.Text += "0";
}
private void button11_Click(object sender, EventArgs e)
{
textBox1.Text += ".";
textBox2.Text += ".";
}
private void button12_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
}
private void button13_Click(object sender, EventArgs e)
{
c = true;
type = "+";
textBox2.Text += "+";
x = double.Parse(textBox1.Text);
}
private void button14_Click(object sender, EventArgs e)
{
c = true;
type = "-";
textBox2.Text += "-";
x = double.Parse(textBox1.Text);
}
private void button15_Click(object sender, EventArgs e)
{
c = true;
type = "×";
textBox2.Text += "×";
x = double.Parse(textBox1.Text);
}
private void button16_Click(object sender, EventArgs e)
{
c = true;
type = "÷";
textBox2.Text += "÷";
x = double.Parse(textBox1.Text);
}
private void button18_Click(object sender, EventArgs e)
{
c = true;
type = "%";
textBox2.Text += "%";
x = double.Parse(textBox1.Text);
}
private void button17_Click(object sender, EventArgs e)
{
y = double.Parse(textBox1.Text);
//法一
while (type=="+")
{
textBox1.Text = (x + y).ToString();
textBox2.Text += "=" + textBox1.Text;
return;
}
while (type == "-")
{
textBox1.Text = (x - y).ToString();
textBox2.Text += "=" + textBox1.Text;
return;
}
while (type == "×")
{
textBox1.Text = (x * y).ToString();
textBox2.Text += "=" + textBox1.Text;
return;
}
while (type == "÷")
{
if (y!=0)
{
textBox1.Text = (x / y).ToString();
textBox2.Text += "=" + textBox1.Text;
}
else
{
MessageBox.Show("請重新輸入","錯誤",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox1.Text = "";
textBox2.Text = "";
}
return;
}
while (type == "%")
{
textBox1.Text = (x % y).ToString();
textBox2.Text += "=" + textBox1.Text;
return;
}
//法二:
//if (type=="+")
//{
// textBox1.Text=(x + y).ToString();
// textBox2.Text += "=" + textBox1.Text;
//}
//if (type=="-")
//{
// textBox1.Text = (x - y).ToString();
// textBox2.Text += "=" + textBox1.Text;
//}
//if (type=="×")
//{
// textBox1.Text = (x * y).ToString();
// textBox2.Text += "=" + textBox1.Text;
//}
//if (type=="÷")
//{
// textBox1.Text = (x / y).ToString();
// textBox2.Text += "=" + textBox1.Text;
//}
//if (type=="%")
//{
// textBox1.Text = (x % y).ToString();
// textBox2.Text += "=" + textBox1.Text;
//}
}
}
}
效果圖:



以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#實現(xiàn)向數(shù)組指定索引位置插入新的元素值
這篇文章給大家介紹了利用C#實現(xiàn)向數(shù)組指定索引位置插入新的元素值,首先需要定義一個一維數(shù)組,然后修改數(shù)組的長度,從而在其中增加一個元素,需要的朋友可以參考下2024-02-02

