C#實(shí)現(xiàn)簡易計(jì)算器功能(附源碼)
本文實(shí)例為大家分享了C#實(shí)現(xiàn)簡易計(jì)算器功能的具體代碼,供大家參考,具體內(nèi)容如下
剖析:
1、先設(shè)計(jì)界面(按鈕、文本框(一個(gè)顯示算式,一個(gè)顯示結(jié)果))布局
2、單擊按鈕將其對應(yīng)內(nèi)容顯示在文本框中
3、單擊符號(+、-、×、÷、%)時(shí)將第一次輸入的數(shù)儲(chǔ)存起來
4、單擊等號時(shí)將第二次輸入的數(shù)存儲(chǔ)起來并將第一次輸入的數(shù)與第二次輸入的數(shù)按照所單擊的符號進(jìn)行運(yùn)算將結(jié)果顯示在第一個(gè)文本框中
5、單擊C時(shí)將兩個(gè)文本框中的內(nèi)容清空
重點(diǎn):
1、聲明一個(gè)bool類型的變量用于實(shí)現(xiàn)單擊符號再次輸入數(shù)字時(shí)第一次輸入的數(shù)字清空顯示第二次輸入的數(shù)字
2、聲明兩個(gè)double類型的變量用于裝第一次輸入的數(shù)和裝第二次輸入的數(shù)
3、聲明一個(gè)string類型的變量用于判斷運(yùn)算符號
界面布局:
具體代碼如下:
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(); } //聲明三個(gè)變量 string type; //符號類型 double x;//裝第一個(gè)數(shù)(按符號(+-×÷%)時(shí)textbox1中的數(shù)字) double y;//裝第二個(gè)數(shù)(按等號時(shí)textbox1中的數(shù)字) bool c=false; private void Form1_Load(object sender, EventArgs e) { this.CenterToScreen();//窗體居中顯示 this.Text = "計(jì)算器"; this.FormBorderStyle = FormBorderStyle.FixedToolWindow; textBox1.ReadOnly = true;//文本框只讀 textBox2.TabIndex = 0;//光標(biāo)焦點(diǎn)在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("請重新輸入","錯(cuò)誤",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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)向數(shù)組指定索引位置插入新的元素值
這篇文章給大家介紹了利用C#實(shí)現(xiàn)向數(shù)組指定索引位置插入新的元素值,首先需要定義一個(gè)一維數(shù)組,然后修改數(shù)組的長度,從而在其中增加一個(gè)元素,需要的朋友可以參考下2024-02-02C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift
這篇文章介紹了C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06c#計(jì)算某段代碼的執(zhí)行時(shí)間實(shí)例方法
在本篇文章里我們給大家整理了關(guān)于c#計(jì)算某段代碼的執(zhí)行時(shí)間的方法和經(jīng)驗(yàn),有興趣的朋友們學(xué)習(xí)下。2019-02-02C#實(shí)現(xiàn)過濾html標(biāo)簽并保留a標(biāo)簽的方法
這篇文章主要介紹了C#實(shí)現(xiàn)過濾html標(biāo)簽并保留a標(biāo)簽的方法,文中的自定義函數(shù)采用正則過濾實(shí)現(xiàn)了該功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09