【发布时间】:2014-07-29 08:31:24
【问题描述】:
我正在练习编程,所以我可以擅长它,但我无法完成这个计算器代码。我不能加、减、乘或除三个或更多的数字。请帮忙。我的代码有什么问题?
提前谢谢你!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Calculator
{
public partial class frmMain : Form
{
int oprtn;
String firstNumber;
String nextNumber;
public frmMain()
{
InitializeComponent();
}
private void btn0_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn0.Text;
}
private void btn1_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn1.Text;
}
private void btn2_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn2.Text;
}
private void btn3_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn3.Text;
}
private void btn4_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn4.Text;
}
private void btn5_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn5.Text;
}
private void btn6_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn6.Text;
}
private void btn7_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn7.Text;
}
private void btn8_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn8.Text;
}
private void btn9_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + btn9.Text;
}
private void btnClear_Click(object sender, EventArgs e)
{
txtShow.Clear();
}
private void btnSubtract_Click(object sender, EventArgs e)
{
firstNumber = txtShow.Text;
oprtn = 2;
txtShow.Text = "";
}
private void btnAdd_Click(object sender, EventArgs e)
{
firstNumber = txtShow.Text;
oprtn = 1;
txtShow.Text = "";
}
private void btnDivide_Click(object sender, EventArgs e)
{
firstNumber = txtShow.Text;
oprtn = 4;
txtShow.Text = "";
}
private void btnMultiply_Click(object sender, EventArgs e)
{
firstNumber = txtShow.Text;
oprtn = 3;
txtShow.Text = "";
}
private void btnEquals_Click(object sender, EventArgs e)
{
nextNumber = txtShow.Text;
int num1 = Convert.ToInt32(firstNumber);
int num2 = Convert.ToInt32(nextNumber);
switch (oprtn)
{
case 1:
int sum = num1 + num2;
String equals = Convert.ToString(sum);
sum = sum + num2;
txtShow.Text = equals;
break;
case 2:
int difference = num1 - num2;
equals = Convert.ToString(difference);
difference = difference - num2;
txtShow.Text = equals;
break;
case 3:
int product = num1 * num2;
equals = Convert.ToString(product);
product = product * num2;
txtShow.Text = equals;
break;
case 4:
int quotient = num1 / num2;
equals = Convert.ToString(quotient);
quotient = quotient / num2;
txtShow.Text = equals;
break;
}
}
private void btnBackspace_Click(object sender, EventArgs e)
{
}
private void txtShow_TextChanged(object sender, EventArgs e)
{
}
private void btnPoint_Click(object sender, EventArgs e)
{
txtShow.Text = txtShow.Text + ".";
}
}
}
【问题讨论】:
-
我的代码有什么问题? ....你的代码有什么问题?
-
我不能添加三个或更多的数字。 (例如:3+3+3)
-
为什么不......你得到一个异常,还是错误的结果?
-
这是一个功能齐全的计算器:
new DataTable().Compute("1+5-7/5*3", null) -
无论如何都不应该编译。
btnEquals_Click方法中的equals变量是什么?它没有在任何地方声明。