求助_(:з」∠)_关于简问题单的计算器的连续运算
作者:纯净物
现在的状况就是可以简单运算,但是连续那种,比如1+3-2这种就不行,只能实现两位数的四则运算_(:з」∠)_是需要创建个变量来存储sum1 的值么?还是怎么OJZ 求帮助…… using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } bool operatorFlag = false; public void InputNumber(string number1) { if (tBanswer.Text == "0") { tBanswer.Text = ""; } tBanswer.Text = tBanswer.Text + number1; } private void Form1_Load(object sender, EventArgs e) { } private void bonDec_Click(object sender, EventArgs e) { if (tBanswer.Text.IndexOf(".") == -1) InputNumber("."); } private void bon00_Click(object sender, EventArgs e) { InputNumber("0"); } private void bon01_Click(object sender, EventArgs e) { InputNumber("1"); } private void bon02_Click(object sender, EventArgs e) { InputNumber("2"); } private void bon03_Click(object sender, EventArgs e) { InputNumber("3"); } private void bon04_Click(object sender, EventArgs e) { InputNumber("4"); } private void bon05_Click(object sender, EventArgs e) { InputNumber("5"); } private void bon06_Click(object sender, EventArgs e) { InputNumber("6"); } private void bon07_Click(object sender, EventArgs e) { InputNumber("7"); } private void bon08_Click(object sender, EventArgs e) { InputNumber("8"); } private void bon09_Click(object sender, EventArgs e) { InputNumber("9"); } public static string numbersaved; public static string signsaved; public void SaveInputed(string num1, string sign1) { if (num1 == "0" | num1 == "") return; numbersaved = num1; signsaved = sign1; tBanswer.Text = "0"; } private void bonAdd_Click(object sender, EventArgs e) { SaveInputed(tBanswer.Text, "加"); } private void bonSub_Click(object sender, EventArgs e) { SaveInputed(tBanswer.Text, "减"); } private void bonMul_Click(object sender, EventArgs e) { SaveInputed(tBanswer.Text, "乘"); } private void bonDiv_Click(object sender, EventArgs e) { SaveInputed(tBanswer.Text, "除"); } private void bonEqula_Click(object sender, EventArgs e) { string numbernow = tBanswer.Text; if (signsaved == "" | numbersaved == "" | numbernow == "" | numbernow == "0") return; tBanswer.Text = Calcuration(numbersaved, signsaved, numbernow); signsaved = ""; numbersaved = ""; } public string Calcuration(string num1, string sign1, string num2) { float number1, number2, sum1 = 0, result=0; try { number1 = (float)(Double.Parse(num1)); number2 = (float)(Double.Parse(num2)); if (sign1 == "加") { sum1 = number1 + number2; } if (sign1 == "减") { sum1 = number1 - number2; } if (sign1 == "乘") { sum1 = number1 * number2; } if (sign1 == "除") { sum1 = number1 / number2; } return result.ToString(); } catch { return ""; } } private void bonC_Click(object sender, EventArgs e) { tBanswer.Text = "0"; numbersaved = ""; signsaved = ""; } } }