c#计算器问题
用windows窗体编写计算器,清零键怎么写 求解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 WindowsFormsApplication5
{
public partial class Form1 : Form
{
string a, b, c, result;
private void GetResult()
{
switch (c)
{
case "+": result = Convert.ToString(Convert.ToInt32(a) + Convert.ToInt32(b)); break;
case "-": result = Convert.ToString(Convert.ToInt32(a) - Convert.ToInt32(b)); break;
case "*": result = Convert.ToString(Convert.ToInt32(a) * Convert.ToInt32(b)); break;
case "/": result = Convert.ToString(Convert.ToInt32(a) / Convert.ToInt32(b)); break;
}
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
b = b + "1";
textBox1.Text = b;
GetResult();
}
private void button2_Click(object sender, EventArgs e)
{
b = b + "2";
textBox1.Text = b;
GetResult();
}
private void button3_Click(object sender, EventArgs e)
{
b = b + "3";
textBox1.Text = b;
GetResult();
}
private void button4_Click(object sender, EventArgs e)
{
b = b + "4";
textBox1.Text = b;
GetResult();
}
private void button5_Click(object sender, EventArgs e)
{
b = b + "5";
textBox1.Text = b;
GetResult();
}
private void button6_Click(object sender, EventArgs e)
{
b = b + "6";
textBox1.Text = b;
GetResult();
}
private void button7_Click(object sender, EventArgs e)
{
b = b + "7";
textBox1.Text = b;
GetResult();
}
private void button8_Click(object sender, EventArgs e)
{
b = b + "8";
textBox1.Text = b;
GetResult();
}
private void button9_Click(object sender, EventArgs e)
{
b = b + "9";
textBox1.Text = b;
GetResult();
}
private void button0_Click(object sender, EventArgs e)
{
b = b + "0";
textBox1.Text = b;
GetResult();
}
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text = result;
c = "+";
a = a + b;
b = "";
}
private void button12_Click(object sender, EventArgs e)
{
textBox1.Text = result;
c = "-";
a = a + b;
b = "";
}
private void button11_Click(object sender, EventArgs e)
{
textBox1.Text = result;
c = "*";
a = a + b;
b = "";
}
private void button13_Click(object sender, EventArgs e)
{
textBox1.Text = result;
c = "/";
a = a + b;
b = "";
}
private void button14_Click(object sender, EventArgs e)
{
textBox1.Text = result;
}
private void button15_Click(object sender, EventArgs e) //清零键 这样写运算后点击会出错 求大神帮帮忙
{
textBox1.Text = "";
a = "";
b = "";
result = "";
return;
}
}
}
--------------------编程问答-------------------- 报什么错
你这按钮不能取个名字啊
return;去掉 看报错不 --------------------编程问答-------------------- 去掉也出错,就是点了清除键以后再点数字键就不能继续计算了,出现 出入字符串格式不正确 我是个新手 今天突然想弄个计算器看看就没写按键的名字 谅解一下 嘿嘿 --------------------编程问答--------------------
--------------------编程问答-------------------- 这代码写的。。。。。。 --------------------编程问答-------------------- 是啊 你的按钮还是取个名字吧! --------------------编程问答-------------------- private void button1_Click(object sender, EventArgs e)
//你清零后,a = ""; b = "";,a、b都成了空串,
//而你在计算结果里调用的是下面的Convert.ToInt32(a),这样肯定会报错,
//因为空字符串是无法转化成数字的
//你可以直接试下,Convert.ToInt32(""),报的错将和你的一样
case "+": result = Convert.ToString(Convert.ToInt32(a) + Convert.ToInt32(b)); break;
case "-": result = Convert.ToString(Convert.ToInt32(a) - Convert.ToInt32(b)); break;
case "*": result = Convert.ToString(Convert.ToInt32(a) * Convert.ToInt32(b)); break;
case "/": result = Convert.ToString(Convert.ToInt32(a) / Convert.ToInt32(b)); break;
{
b = b + "1";
textBox1.Text = b;
GetResult();
}
这是不是点一下就显示1,在点就是11,在就111
这里面用了 GetResult();方法
GetResult();方法中用了,c但是没给c值
也用了a,也没有值
应该写到=的按钮里吧
——————————————————
private void button14_Click(object sender, EventArgs e)
{
textBox1.Text = GetResult();
这个是=按钮吧
}
//这个是+按钮吧
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text = result;
c = "+";
a = a + b;
a=b;不要写a + b
b = "";
}
+————————
result这个变量没意义GetResult返回结果就好了
--------------------编程问答-------------------- 想起了,学生时代啊..那时没事,就爱弄这玩意...还用简单工厂模式.... --------------------编程问答-------------------- 清零 不就是 给0吗?
--------------------编程问答-------------------- 直接给click时间给个clear不可以么? --------------------编程问答-------------------- 就是你把这个问题解决了,你的运算结果也是错误的。逻辑有问题。, --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 逻辑上有严重的偏差!!! --------------------编程问答-------------------- 为啥面向对象要弄成过程捏。 --------------------编程问答-------------------- 设置text变成0不久可以了么。。 --------------------编程问答-------------------- 清零键里这样设置吧,a=b=result="0",这样试试
--------------------编程问答-------------------- 0 0
补充:.NET技术 , C#