用C#用java编写计算器的计算器 怎样传递连个数

11:48 提问
c#如何实现一个实用的计算器?
我已经做出一个计算器了
可是 到了负数就老是出错让我很郁闷
按赞数排序
下载一个现成的学习下,计算器很简单的
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
// 你的代码
// 找个文本框将异常信息出来
看具体是什么情况
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 7941 人关注过本帖
标题:C#计算器连按等号实现连加功能?
等 级:新手上路
结帖率:50%
&&已结贴√
&&问题点数:20&&回复次数:8&&&
C#计算器连按等号实现连加功能?
大家好,我想用C#语言写一个计算器的程序,实现如下功能:第一次输入2+1= 得到结果3,之后按等号就可以一直执行+1操作,显示结果4,5,6……
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&如果输入的是2+3= 得到结果5,之后按等号就可以一直执行+3操作,显示结果8,11,14……
以下是已经写好的没有连加功能的程序,该如何改动呢?
using System.Collections.G
using System.ComponentM
using System.D
using System.D
using System.T
using System.Windows.F
namespace WindowsApplication1
&&& public partial class Form1 : Form
&&&&&&&&double sum = 0;//记录部分和
&&&&&&&&bool blnClear = //表示如果再输入数字或小数点,先清除编辑框中显示的前一个加数
&&&&&&&&string strOper = &+&; //记录输入的运算符
&&&&&&&&public&&&Form1()
&&&&&&&&&&&&InitializeComponent();
&&&&&&&&private void button10_Click(object sender, EventArgs e) //0数字键
&&&&&&&&&&&&if (blnClear) //如果为真,输入下一个加数前,先清除textBox1显示内容
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1=(Button )
&&&&&&&&&&&&if (textBox1.Text != &0&) //如果前面已经输入非零数字,如:12
&&&&&&&&&&&&&&& textBox1.Text += b1.T //此时键入0,应为120
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T //如已输入的数字为0,显示的数字应为0
&&&&&&&&private void button1_Click(object sender, EventArgs e) //1数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button2_Click(object sender, EventArgs e) //2数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button3_Click(object sender, EventArgs e) //3数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button4_Click(object sender, EventArgs e) //4数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button5_Click(object sender, EventArgs e) //5数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button6_Click(object sender, EventArgs e) //6数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button7_Click(object sender, EventArgs e) //7数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button8_Click(object sender, EventArgs e) //8数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button9_Click(object sender, EventArgs e) //9数字键
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&Button b1 = (Button)
&&&&&&&&&&&&if (textBox1.Text != &0&)
&&&&&&&&&&&&&&& textBox1.Text += b1.T
&&&&&&&&&&&&else
&&&&&&&&&&&&&&& textBox1.Text = b1.T
&&&&&&&&private void button11_Click(object sender, EventArgs e) //小数点的代码
&&&&&&&&&&&&if (blnClear)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& textBox1.Text = &0&;
&&&&&&&&&&&&&&& blnClear =
&&&&&&&&&&&&}
&&&&&&&&&&&&int n = textBox1.Text.IndexOf(&.&);
&&&&&&&&&&&&if (n == -1) //如果没有小数点,增加小数点,否则不增加
&&&&&&&&&&&&&&& textBox1.Text = textBox1.Text + &.&;
&&&&&&&&private void button13_Click(object sender, EventArgs e) //加号的代码
&&&&&&&&&&&&&&&double dbSencond = Convert.ToDouble(textBox1 .Text );
&&&&&&&&&&&&if (!blnClear) //如果未输入第二个操作符,不运算,例如连续输入+-*/或=
&&&&&&&&&&&&&&& switch (strOper) //按上次记录的运算符号运算
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&case &+&:
&&&&&&&&&&&&&&&&&&&&&&&&sum += dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &-&:
&&&&&&&&&&&&&&&&&&&&&&&&sum -= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &*&:
&&&&&&&&&&&&&&&&&&&&&&&&sum *= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &/&:
&&&&&&&&&&&&&&&&&&&&&&&&sum /= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&if (sender == button13) //记录此次键入的运算符
&&&&&&&&&&&&&&& strOper = &+&;
&&&&&&&&&&&&if (sender == button12)
&&&&&&&&&&&&&&& strOper = &=&;
&&&&&&&&&&&&textBox1.Text = Convert.ToString(sum ); // 显示部分和
&&&&&&&&&&&&blnClear = // 设置标记使键入另一个加数前,先清除显示的前个加数
&&&&&&&&private void button12_Click(object sender, EventArgs e) //等号的代码
&&&&&&&&&&&&
&&&&&&&&&&&&double dbSencond = Convert.ToDouble(textBox1.Text);
&&&&&&&&&&&&if (!blnClear)
&&&&&&&&&&&&&&& switch (strOper)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&case &+&:
&&&&&&&&&&&&&&&&&&&&&&&&sum += dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &-&:
&&&&&&&&&&&&&&&&&&&&&&&&sum -= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &*&:
&&&&&&&&&&&&&&&&&&&&&&&&sum *= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &/&:
&&&&&&&&&&&&&&&&&&&&&&&&sum /= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&if (sender == button13)
&&&&&&&&&&&&&&& strOper = &+&;
&&&&&&&&&&&&if (sender == button12)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& strOper = &=&;
&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&textBox1.Text = Convert.ToString(sum);
&&&&&&&&&&&&blnClear =
&&&&&&&&&&&
&&&&&&&&private void button14_Click(object sender, EventArgs e) //减号的代码
&&&&&&&&&&&&double dbSencond = Convert.ToDouble(textBox1.Text);
&&&&&&&&&&&&if (!blnClear)
&&&&&&&&&&&&&&& switch (strOper)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&case &+&:
&&&&&&&&&&&&&&&&&&&&&&&&sum += dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &-&:
&&&&&&&&&&&&&&&&&&&&&&&&sum -= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &*&:
&&&&&&&&&&&&&&&&&&&&&&&&sum *= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &/&:
&&&&&&&&&&&&&&&&&&&&&&&&sum /= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&if (sender == button14)
&&&&&&&&&&&&&&& strOper = &-&;
&&&&&&&&&&&&if (sender == button12)
&&&&&&&&&&&&&&& strOper = &=&;
&&&&&&&&&&&&textBox1.Text = Convert.ToString(sum);
&&&&&&&&&&&&blnClear =
&&&&&&&&private void button15_Click(object sender, EventArgs e) //乘号的代码
&&&&&&&&&&&&double dbSencond = Convert.ToDouble(textBox1.Text);
&&&&&&&&&&&&if (!blnClear)
&&&&&&&&&&&&&&& switch (strOper)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&case &+&:
&&&&&&&&&&&&&&&&&&&&&&&&sum += dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &-&:
&&&&&&&&&&&&&&&&&&&&&&&&sum -= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &*&:
&&&&&&&&&&&&&&&&&&&&&&&&sum *= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &/&:
&&&&&&&&&&&&&&&&&&&&&&&&sum /= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&if (sender == button15)
&&&&&&&&&&&&&&& strOper = &*&;
&&&&&&&&&&&&if (sender == button12)
&&&&&&&&&&&&&&& strOper = &=&;
&&&&&&&&&&&&textBox1.Text = Convert.ToString(sum);
&&&&&&&&&&&&blnClear =
&&&&&&&&private void button16_Click(object sender, EventArgs e) //除号的代码
&&&&&&&&&&&&double dbSencond = Convert.ToDouble(textBox1.Text);
&&&&&&&&&&&&if (!blnClear)
&&&&&&&&&&&&&&& switch (strOper)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&case &+&:
&&&&&&&&&&&&&&&&&&&&&&&&sum += dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &-&:
&&&&&&&&&&&&&&&&&&&&&&&&sum -= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &*&:
&&&&&&&&&&&&&&&&&&&&&&&&sum *= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&case &/&:
&&&&&&&&&&&&&&&&&&&&&&&&sum /= dbS
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&if (sender == button16)
&&&&&&&&&&&&&&& strOper = &/&;
&&&&&&&&&&&&if (sender == button12)
&&&&&&&&&&&&&&& strOper = &=&;
&&&&&&&&&&&&textBox1.Text = Convert.ToString(sum);
&&&&&&&&&&&&blnClear =
&&&&&&&&private void button17_Click(object sender, EventArgs e) //清除键的代码
&&&&&&&&&&&&textBox1.Text = &0&;
&&&&&&&&&&&&sum = 0;
&&&&&&&&&&&&blnClear =
&&&&&&&&&&&&strOper = &+&;
&&&&&&&&}&&
[ 本帖最后由 mosiying 于
21:53 编辑 ]
搜索更多相关主题的帖子:
等 级:论坛游侠
帖 子:39
专家分:132
增加三个变量: private bool isL//控制=操作是否循环 private bool isOperator//是否连续运算 private double number//记录=前的数
this.isOerator=
if(!isLoop)
//计算number...
//添加=号的运算循环}
同理修改下运算下的;
[ 本帖最后由 lwsfyts 于
08:21 编辑 ]
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
要是我写的话,就用两个变量记忆两个操作数,按+输出结果。如果再按+的话,第一个操作数更新为前面两个操作数之和,接下来输入的值给第二个操作数。当然这其中要有一个标志判断是否是第一次按+号键了!
&&&唯实惟新 至诚致志
等 级:新手上路
回复 楼主 mosiying
等号的运算循环怎么写啊?还是不会啊~~那个number是不是之前算出来的sum啊?好晕啊~
等 级:论坛游侠
帖 子:39
专家分:132
this.isOperator =//把运算循环停止
if (!isLoop)//如果是第一次按了等号
{ //先读取=号的number&&}&&&
isLoop =//
//根据记录的运算符求得结果(+=/-=/...)
//显示结果
}&&&&&&&&&&&
等 级:业余侠客
帖 子:139
专家分:212
程序代码:
using System.Collections.G
using System.ComponentM
using System.D
using System.D
using System.L
using System.T
using System.Windows.F
namespace Cale
&&& public partial class Form1 : Form
&&&&&&&&int x = <font color=#;
&&&&&&&&int y = <font color=#;
&&&&&&&&string runType = string.E
&&&&&&&&public Form1()
&&&&&&&&&&&&InitializeComponent();
&&&&&&&&private void Form1_Load(object sender, EventArgs e)
&&&&&&&&private void btn_1_Click(object sender, EventArgs e)
&&&&&&&&&&&&Button b = sender as B
&&&&&&&&&&&&this.textBox1.Text+=&&&b.T
&&&&&&&&&&&//Button c= sender as B
&&&&&&&&private void but_add_Click(object sender, EventArgs e)
&&&&&&&&&&&&Button b = sender as B
&&&&&&&&&&&&this.runType = b.T
&&&&&&&&&&&&this.x = int.Parse(this.textBox1.Text);
&&&&&&&&&&&&this.textBox1.Clear();
&&&&&&&&private void btn_out_Click(object sender, EventArgs e)
&&&&&&&&&&&&this.y = int.Parse(this.textBox1.Text);
&&&&&&&&&&&&if (this.runType == &+&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& this.textBox1.Text = (this.x + this.y).ToString();
&&&&&&&&&&&&}
&&&&&&&&&&&&else if (this.runType == &-&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& this.textBox1.Text = (this.x - this.y).ToString();
&&&&&&&&&&&&}
&&&&&&&&&&&&else if (this.runType == &*&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& this.textBox1.Text = (this.x * this.y).ToString();
&&&&&&&&&&&&}
&&&&&&&&&&&&else if (this.runType == &/&)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& this.textBox1.Text = (this.x / this.y).ToString();
&&&&&&&&&&&&}
&&&&&&&&private void btn_clear_Click(object sender, EventArgs e)
&&&&&&&&&&&&this.textBox1.Clear();
选中0-9,写一个Click事件多简单 !
[ 本帖最后由 one_june 于
15:57 编辑 ]
等 级:论坛游侠
帖 子:39
专家分:132
楼上这个代码还要进一步完善:1).小数2).连续运算2+3+5..
3)=循环3+5=8=13..4)按0再按0..判断...
来 自:河南
等 级:论坛游侠
帖 子:92
专家分:191
你是不是想实现 按一下1+1=2&&然后连续按=号 连续算出结果 2 3 4 5 。。。 ?
写一个两个数相加的方法 double A(dobule x,dobule y)用来返回相加结果
给每一个按钮加标示,标示记录前两个计算符号按钮按钮,比如:如果按下1+1,假设+的标示为+,那么标示字段里为“+”
在=号按钮事件内判断标示,如果标示最后一个不为=,假设为“+”,把标示改为“+=”,调用A(1,1)
若标示最后一位为=&&则不改变标示,直接A(sum,1),sum为上一次计算出的值
希望,是走出来的!!!
等 级:新手上路
回复 3 楼 qq
我在做一个计算器,请问连加的代码怎么写,比如1+2+3+4
版权所有,并保留所有权利。
Powered by , Processed in 0.062756 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved问说网手机版
躺着 站着 跪着轻松访问
问说网 / 蜀ICP备号
感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。
您的反馈我们已收到!
感谢您提供的宝贵意见,我们会在1-2个工作日,通过您留下的联系方式将处理结果反馈给您!用C#实现一个简易计算器,输入一个算术表达式的字符串,输出其计算结果怎么写? - 知乎1被浏览351分享邀请回答C#多功能计算器源码下载(复杂算式计算器的例子)
C#语言基础
开发语言:C#
实例大小:0.33M
下载次数:
浏览次数:
发布时间:
实例类别:C#语言基础
发 布 人:
所需积分:2
&相关标签:
同类人气实例
实例下载地址
C#多功能计算器源码下载(复杂算式计算器的例子)
不能下载?内容有错? 点击这里报错
好例子网口号:伸出你的我的手 & 分享!
1 楼 lkhbt888 发表于:
sssssssssssssssssssssssssssssssssssssssssssss
2 楼 gjc 发表于:
qqqqqqqqqq
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
Copyright &
好例子网(www.haolizi.net).All Rights Reserved备案编号:冀ICP备号 石公备号(10)}

我要回帖

更多关于 用vb编写计算器代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信