C#實現(xiàn)簡易計算器功能(附源碼)
本文實例為大家分享了C#實現(xiàn)簡易計算器功能的具體代碼,供大家參考,具體內(nèi)容如下
剖析:
1、先設計界面(按鈕、文本框(一個顯示算式,一個顯示結果))布局
2、單擊按鈕將其對應內(nèi)容顯示在文本框中
3、單擊符號(+、-、×、÷、%)時將第一次輸入的數(shù)儲存起來
4、單擊等號時將第二次輸入的數(shù)存儲起來并將第一次輸入的數(shù)與第二次輸入的數(shù)按照所單擊的符號進行運算將結果顯示在第一個文本框中
5、單擊C時將兩個文本框中的內(nèi)容清空
重點:
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; //} } } }
效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#實現(xiàn)向數(shù)組指定索引位置插入新的元素值
這篇文章給大家介紹了利用C#實現(xiàn)向數(shù)組指定索引位置插入新的元素值,首先需要定義一個一維數(shù)組,然后修改數(shù)組的長度,從而在其中增加一個元素,需要的朋友可以參考下2024-02-02C#使用遠程服務調(diào)用框架Apache Thrift
這篇文章介紹了C#使用遠程服務調(diào)用框架Apache Thrift的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06