回覆列表
  • 1 # 迷失金錢

    用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網路框架的主角。

  • 中秋節和大豐收的關聯?
  • girlfrend歌詞?