当前位置:编程学习 > C#/ASP.NET >>

C#做一个计算器

最好有源码的 ,谢谢

邮箱:245462951@qq.com

追问:我想把它们的 式子放在一个textBox 里, 计算出来的效果为 :11.1+11=22.1  这样。怎样才能避免 点出两次+号,  代码是:每个按钮是 txtbox.text +="1";  这样式的 

答案:老师布置的题吧,自己做吧,以后路还长。以下是思路之一:

   我们分两部份来实现程序,
  
   第一部份.程序界面
  
   1,以下控件表
  
   控件类型 Name Text
   form calcForm 计算器
   button button1 0
   .....
   button10 9
   bDot .(小数点) 小数点按钮
   bPlus +(加号) 加号按钮
   bSub -(减号) 减号按钮
   bMul *(乘号) 乘号按钮
   bDiv /(除号) 除号按钮
   bEqu =(等号) 等号按钮
   bClr AC 清除按钮
   textBox txtCalc (空值) 用来显示输入及输出结果
  
   第二部份,程序结构
  
   1,定义以下变量
  
   Double dblAcc; //运算数A
   Double dblSec; //运算数B
   bool blnClear,blnFrstOpen;//布尔类型用来判断清除与否,以及第一个显示字符
   String strOper;//通过获取strOper的值来决定运算+,-,*,/,=
  
   2,用以下方法来实现按钮的动作
  
   例: bDot.click+=net EventHandler(btn_clk);//EventHandler类是事件代表类,用来注册事件的处理方法.
  
   //第一个参数是object类型,指向发出事件的对象;
  
   //第二个参数是EventArgs类型,包含了关于这个事件的数据
  
   3,用以下方法来判断运算以及运算操作
  
   private void calc(){
   switch(strOper){
   case "+":
   dblAcc+=dblSec;//加法运算
   break;
   case "-":
   dblAcc-=dblSec;//减法运算
   break;
   case "*":
   dblAcc*=dblSec;//乘法运算
   break;
   case "/":
   dblAcc/=dblSec;//除法运算
   break;
   }
   strOper="=";//等号运算
   blnFrstOpen=true;
  
   txtCalc.Text=Convert.ToString(dblAcc);//将运算结果转换成字符型,并输出结果
  
   dblSec=dblAcc;
   }
  
   4,小数点运算
  
   //先判断是否已经按了小数点按钮,如果按了,最0.x来代替运算变量,并且将转换成Double数型数值
   private void btn_clk(object obj,EventArgs ea){
   if(blnClear)
   txtCalc.Text="";
   Button b3=(Button)obj;
   txtCalc.Text+=b3.Text;
   if(txtCalc.Text==".")
   txtCalc.Text="0.";
   dblSec=Convert.ToDouble(txtCalc.Text);
   blnClear=false;
   }

科学计算器(源代码)

http://www.zzzyk.com/grandydong/archive/2007/03/06/665435.html

呵呵 建议你看看大话设计模式 第一章抽象工厂模式 好像有这个例子

http://www.verycd.com/topics/2728696/

我又源码哈!马上发给你哈!

是不是要上面有数字按钮,下面一个文本框,按上面的按钮就显示计算式在文本框里面。

呵呵  你要是打算搞这行,就从简单的程序开始吧,尽量自己去完成!

上一个:C#读取二进制文件
下一个:C#中有类的继承性吗?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,