求助……关于简单计算器的连续运算问题

问题描述

如何进行连续运算?就像1+3-2这样……这个只能实现两位数的运算……是不是要把运算那部分改为switchcase形式?求大神帮忙OJZZZZZZZZZZzusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespacecalculator{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}booloperatorFlag=false;publicvoidInputNumber(stringnumber1){if(tBanswer.Text=="0"){tBanswer.Text="";}tBanswer.Text=tBanswer.Text+number1;}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidbonDec_Click(objectsender,EventArgse){if(tBanswer.Text.IndexOf(".")==-1)InputNumber(".");}privatevoidbon00_Click(objectsender,EventArgse){InputNumber("0");}privatevoidbon01_Click(objectsender,EventArgse){InputNumber("1");}privatevoidbon02_Click(objectsender,EventArgse){InputNumber("2");}privatevoidbon03_Click(objectsender,EventArgse){InputNumber("3");}privatevoidbon04_Click(objectsender,EventArgse){InputNumber("4");}privatevoidbon05_Click(objectsender,EventArgse){InputNumber("5");}privatevoidbon06_Click(objectsender,EventArgse){InputNumber("6");}privatevoidbon07_Click(objectsender,EventArgse){InputNumber("7");}privatevoidbon08_Click(objectsender,EventArgse){InputNumber("8");}privatevoidbon09_Click(objectsender,EventArgse){InputNumber("9");}publicstaticstringnumbersaved;publicstaticstringsignsaved;publicvoidSaveInputed(stringnum1,stringsign1){if(num1=="0"|num1=="")return;numbersaved=num1;signsaved=sign1;tBanswer.Text="0";}privatevoidbonAdd_Click(objectsender,EventArgse){SaveInputed(tBanswer.Text,"加");}privatevoidbonSub_Click(objectsender,EventArgse){SaveInputed(tBanswer.Text,"减");}privatevoidbonMul_Click(objectsender,EventArgse){SaveInputed(tBanswer.Text,"乘");}privatevoidbonDiv_Click(objectsender,EventArgse){SaveInputed(tBanswer.Text,"除");}privatevoidbonEqula_Click(objectsender,EventArgse){stringnumbernow=tBanswer.Text;if(signsaved==""|numbersaved==""|numbernow==""|numbernow=="0")return;tBanswer.Text=Calcuration(numbersaved,signsaved,numbernow);signsaved="";numbersaved="";}publicstringCalcuration(stringnum1,stringsign1,stringnum2){floatnumber1,number2,sum1=0,result=0,a=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;}result=sum1;returnresult.ToString();}catch{return"";}}privatevoidbonC_Click(objectsender,EventArgse){tBanswer.Text="0";numbersaved="";signsaved="";}}}

解决方案

解决方案二:
这段代码包含的各种诡异的写法真是让我打开眼界你现在是在按=时后进行计算的你可以看下windows自带的计算机,按其他符号的时候,如果前面已经有一个式子,也会计算出结果
解决方案三:
google完整输入site:download.csdn.net计算器C#winforms结果就有了。
解决方案四:
你这个写法也太拖沓了,数字部分可以合并成一个方法,然后通过tag来获取当前点击对应数字,加减乘除也是的
解决方案五:
设置一个成员变量存结果就行了
解决方案六:
引用3楼starfd的回复:

你这个写法也太拖沓了,数字部分可以合并成一个方法,然后通过tag来获取当前点击对应数字,加减乘除也是的

+1
解决方案七:
搜索一下逆波兰表达式,可以解决你的问题。
解决方案八:
用栈就可以解决

时间: 2024-09-30 22:22:13

求助……关于简单计算器的连续运算问题的相关文章

javascript-JS写的简单计算器 求 连续加减乘除代码

问题描述 JS写的简单计算器 求 连续加减乘除代码 JS编写的计算器 如何才能实现连续的加减乘除 求大神告知具体方法 代码 我是新手 太复杂的看不懂 谢谢 我的代码如下 JiSuanQi <!-- 移动层外部JS文件 --> <br> var oper = ""<br> var isClickOper = false//是否点击了运算符<br> var num = 0;<br> var isClickPoint = false

HDU 1237 简单计算器

简单计算器 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11406    Accepted Submission(s): 3711 Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值.   Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字

js实现简单计算器_javascript技巧

参考部分资料,编写一个简单的计算器案例,虽然完成了正常需求,但是也有不满之处,待后续实力提升后再来补充,先把不足之处列出: 1:本来打算只要打开页面,计算器的输入框会显示一个默认为0的状态,但是在输入框加入默认显示为0的时候,选择数据输入时,该0会显示输入数字的前面,例如"0123",由于能力有限,待后续实力提升再来补充完善! 2:目前只能实现鼠标控制选择按钮,待完善键盘录入功能. 3:乘法的那个符号在本来想改成"×"这个符号的,待后续完善. 附图片一张: html

php学习之简单计算器实现代码

复制代码 代码如下: <html> <head> <title>PHP实现简单计算器</title> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> </head> <?php //单路分支 if(isset($_GET["sub"])) { $num1=true;//数字1是否为空

JS简单计算器实例

 这篇文章主要介绍了JS简单计算器的实现方法,以加法实例分析了js实现计算功能的技巧,需要的朋友可以参考下     本文实例讲述了JS简单计算器的实现方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript">

js的表单操作 简单计算器_javascript技巧

代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv

c语言-急求!简单计算器代码!

问题描述 急求!简单计算器代码! 请问用逆波兰函数和栈写计算器代码怎么写啊?能不能顺便注上解释,非常感谢! 解决方案 http://blog.csdn.net/roma823/article/details/6530066 给你一个链接,希望对你有用,里面是一个逆波兰计算器(C语言). 望采纳

ANTLR#1:描述一个简单计算器

ANTLR是什么鬼?引用官网的说明, What is ANTLR? ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and framewo

一个简单计算器java程序,不知道为什么除法总是算错

问题描述 一个简单计算器java程序,不知道为什么除法总是算错 一个简单计算器java程序,不知道为什么除法总是算错(不是全概率是高概率应该说,麻烦大大帮忙看看,非常感激 package com.calculator; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.Em