用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.建立小數點鍵和數字鍵的方法
兩個方法
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
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; }
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的方法。
//加法計算 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網路框架的主角。
用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.建立小數點鍵和數字鍵的方法
兩個方法
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; }
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的方法。
//加法計算 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網路框架的主角。