當前位置:聚美館>智慧生活>心理>

如何用C#編寫簡易計算器

心理 閲讀(1.72W)
如何用C#編寫簡易計算器

用C#編寫簡易計算器

1、在窗體上拖23個button

間距設置上下和左右等寬,修改text為相應的數字或者字母,以及一個textbox和groupBox1,修改他們的text。窗體、groupBox什麼的背景圖片直接插。

2、 初始化窗體

當窗體加載時,使textbox裏的光標位於最右邊,即從最右邊開始輸入。

這裏TextAlign為設置文本框文字位置,HorizontalAlignment為枚舉,選擇right,當然選擇哪個都行。

以下為代碼:

private void Form1_Load(object sender, EventArgs e)

{

textBox1.Text = ""//初始化內容,設置為空

textBox1.TextAlign = HorizontalAlignment.Right//用來設置文本框的文字的位置,

}

下面這些代碼有的程序已經給了出來,多的是聲明瞭兩個全局變量,num1和temp。num1用來存儲第一個用户輸入的數字,temp為存儲計算的方式,執行加法運算還是減法運算等等。

public partial class Form1 : Form

{

public double num1

public int temp = 0//記錄存儲計算方式

public Form1()

{

InitializeComponent()

}

3、創建小數點鍵和數字鍵的方法

兩個方法

小數點鍵方法(這裏有幾種情況,當直接點擊“.”鍵時,則需要文本顯示為0. ,若文本前邊已經有數字,點擊“.”時,則需要數字加上小數點,若重複重複點擊“.”則直接提示無須重新輸入小數點)

這裏button14為小數點按鈕,當然大家可以自己設置下button的name方便代碼編輯

private void button14_Click(object sender, EventArgs e)

{

//小數點按鍵,初始為空,直接按 . 鍵則顯示為0.多少

if (textBox1.Text == "")

{

textBox1.Text = "0."

}

//如果再次輸入.則返回都輸入的字符後邊並提示信息

else if (textBox1.Text.IndexOf(".") >= 0)

{

MessageBox.Show("已經輸入小數點,無須再次輸入", "提示")

}

else

//前邊有數字時,則直接在後邊加上.

textBox1.Text = textBox1.Text + "."

}

數字鍵方法(這個方法簡單,就不説了)

public void inputNum(int myNum)

{

//當輸入的數字不是0時,為1到9

if (myNum !=0)

{

textBox1.Text = textBox1.Text + myNum

}

//輸入數字為0

else

textBox1.Text = "0"

}

4、數字鍵調用那個方法 注:這裏的n就是0到9的數字,這九個button代碼都差不多,都調用inputNum方法就可以,把數字作為參數傳進去。

private void button1_Click(object sender, EventArgs e)

{

inputNum(n)

}

5、編寫復位鍵和退格鍵的方法

//復位鍵

private void button16_Click(object sender, EventArgs e) { textBox1.Text = " " num1 = 0 temp = 0 }

//退格鍵,文本框裏字符的長度大於1時,點擊此鍵,則刪除一個字符,即長度減一

private void button22_Click(object sender, EventArgs e) { if (textBox1.Text.Length > 0) { textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1) } }

6、編寫加減乘除、開方、平方、三次方、log/In的方法。

當點擊這幾個鍵時,相當於用num1把用户輸入的第一個數字存到這個變量裏。下面舉例加法和減法,其他的都類似,只不過temp取值不一樣。

//加法計算 private void button10_Click(object sender, EventArgs e) { temp = 1 num1 = Convert.ToDouble(textBox1.Text)//當點擊+號時,存儲第一個數字 textBox1.Text = ""//隨後讓文本框歸空 } //減法計算 private void button11_Click(object sender, EventArgs e) { temp = 2 num1 = Convert.ToDouble(textBox1.Text)//當點擊-號時,存儲第一個數字 textBox1.Text = ""//隨後讓文本框歸空 }...........................................其他方法類似

7、編寫=號鍵的方法

這裏沒有定義第二個變量存儲用户輸入的數字,因為num1已經有了,若用户執行加減乘除這樣兩個數的運算,第二數直接由textbox裏轉成double類型直接用,若用户執行開方、平方、log/In這種單個數運算,則不要第二數的輸入,所以這裏減少了存儲第二個數的麻煩,當然也可以定義兩個變量。

當用户點擊“=“時執行此方法

private void button21_Click(object sender, EventArgs e) { switch (temp) {

//加法運算 case 1: textBox1.Text = (num1 + Convert.ToDouble(textBox1.Text)).ToString() break

//減法運算 case 2: textBox1.Text = (num1 - Convert.ToDouble(textBox1.Text)).ToString() break

//乘法運算 case 3: textBox1.Text = (num1 * Convert.ToDouble(textBox1.Text)).ToString() break

//除法運算,討論分母為零的情況 case 4: if (Convert.ToDouble(textBox1.Text) == 0) { MessageBox.Show("除數不能為零", "錯誤提示", MessageBoxButtons.OK, MessageBoxIcon.Warning) textBox1.Clear() } else textBox1.Text = (num1 / Convert.ToDouble(textBox1.Text)).ToString() break //log運算 case 5: textBox1.Text = Math.Log(num1).ToString() break //In運算 case 6: textBox1.Text = Math.Log10(num1).ToString() break //開方運算 case 7: textBox1.Text = Math.Sqrt(num1).ToString() break //平方運算 case 8: textBox1.Text =(num1 * num1).ToString() break

//三次方運算 case 9: textBox1.Text = Math.Pow(num1, 3).ToString() break } }

擴展資料:

C#是微軟公司發佈的一種由C和C++衍生出來的面向對象的編程語言、運行於.NET Framework和.NET Core(完全開源,跨平台)之上的高級程式語言。並定於在微軟職業開發者論壇(PDC)上登台亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有着驚人的相似它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有着明顯的不同,它借鑑了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網絡框架的主角。