在线计算器

来源:互联网 发布:c语言经典算法大全pdf 编辑:程序博客网 时间:2024/04/24 04:55

WebForm1.aspx

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Calculator.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>WebForm1</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  <STYLE type="text/css">TD { FONT: 10pt "宋体"; COLOR: #ffffff }
 .Button { BORDER-TOP-WIDTH: 2px; BORDER-LEFT-WIDTH: 2px; BORDER-BOTTOM-WIDTH: 2px; MARGIN: 4px; FONT: 9pt "宋体"; WIDTH: 35px; COLOR: #0000ff; HEIGHT: 26px; BORDER-RIGHT-WIDTH: 2px }
 .Button1 { BORDER-TOP-WIDTH: 2px; BORDER-LEFT-WIDTH: 2px; BORDER-BOTTOM-WIDTH: 2px; MARGIN: 4px; FONT: 9pt "宋体"; WIDTH: 35px; COLOR: #ff0000; HEIGHT: 26px; BORDER-RIGHT-WIDTH: 2px }
 .text_input { BACKGROUND: #ffffff; FONT: 10pt "Verdana", "Arial", "Helvetica", "sans-serif"; WIDTH: 248px; COLOR: #000000; HEIGHT: 23px; TEXT-ALIGN: right }
 A { FONT: 9pt "宋体"; COLOR: #ffffff; TEXT-DECORATION: none }
  </STYLE>
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <table cellSpacing="0" cellPadding="0" width="238" border="0">
    <tr>
     <td align="center" colSpan="6"><asp:textbox id="txtNum" Runat="server" text="0" CssClass="text_input"></asp:textbox></td>
    </tr>
    <tr>
     <td><asp:button id="btnSeven" Runat="server" CssClass="Button" Text="7"></asp:button></td>
     <td><asp:button id="btnEight" Runat="server" CssClass="Button" Text="8"></asp:button></td>
     <td><asp:button id="btnNine" Runat="server" CssClass="Button" Text="9"></asp:button></td>
     <td><asp:button id="btnDivide" Runat="server" CssClass="Button1" Text="/"></asp:button></td>
     <td><asp:button id="btnCE" Runat="server" CssClass="Button1" Text="CE"></asp:button></td>
    </tr>
    <tr>
     <td><asp:button id="btnFour" Runat="server" CssClass="Button" Text="4"></asp:button></td>
     <td><asp:button id="btnFive" Runat="server" CssClass="Button" Text="5"></asp:button></td>
     <td><asp:button id="btnSix" Runat="server" CssClass="Button" Text="6"></asp:button></td>
     <td><asp:button id="btnMultiply" Runat="server" CssClass="Button1" Text="*"></asp:button></td>
     <td><asp:button id="btnClear" Runat="server" CssClass="Button1" Text="C"></asp:button></td>
    </tr>
    <tr>
     <td><asp:button id="btnOne" Runat="server" CssClass="Button" Text="1"></asp:button></td>
     <td><asp:button id="btnTwo" Runat="server" CssClass="Button" Text="2"></asp:button></td>
     <td><asp:button id="btnThree" Runat="server" CssClass="Button" Text="3"></asp:button></td>
     <td><asp:button id="btnAdd" Runat="server" CssClass="Button1" Text="+"></asp:button></td>
     <td><asp:button id="btnClose" Runat="server" CssClass="Button1" Text="OFF"></asp:button></td>
    </tr>
    <tr>
     <td><asp:button id="btnZero" Runat="server" CssClass="Button" Text="0"></asp:button></td>
     <td><asp:button id="btnNeg" Runat="server" CssClass="Button" Text="+/-"></asp:button></td>
     <td><asp:button id="btnDecimal" Runat="server" CssClass="Button" Text="."></asp:button></td>
     <td><asp:button id="btnMinus" Runat="server" CssClass="Button1" Text="-"></asp:button></td>
     <td><asp:button id="btnEquals" Runat="server" CssClass="Button1" Text="="></asp:button></td>
    </tr>
   </table>
  </form>
 </body>
</HTML>

===========================================================

WebForm1.asp.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Calculator
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button btnSeven;
  protected System.Web.UI.WebControls.Button btnEight;
  protected System.Web.UI.WebControls.Button btnNine;
  protected System.Web.UI.WebControls.Button btnDivide;
  protected System.Web.UI.WebControls.Button btnCE;
  protected System.Web.UI.WebControls.Button btnFour;
  protected System.Web.UI.WebControls.Button btnFive;
  protected System.Web.UI.WebControls.Button btnSix;
  protected System.Web.UI.WebControls.Button btnMultiply;
  protected System.Web.UI.WebControls.Button btnClear;
  protected System.Web.UI.WebControls.Button btnOne;
  protected System.Web.UI.WebControls.Button btnTwo;
  protected System.Web.UI.WebControls.Button btnThree;
  protected System.Web.UI.WebControls.Button btnAdd;
  protected System.Web.UI.WebControls.Button btnClose;
  protected System.Web.UI.WebControls.Button btnZero;
  protected System.Web.UI.WebControls.Button btnNeg;
  protected System.Web.UI.WebControls.Button btnDecimal;
  protected System.Web.UI.WebControls.Button btnMinus;
  protected System.Web.UI.WebControls.Button btnEquals;
  protected System.Web.UI.WebControls.TextBox txtNum;

  Calculator MyCalculator = new Calculator();
  private string strShowText;
  
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if (Page.IsPostBack)
   {
    if (txtNum.Text != "0")
    {
     strShowText = txtNum.Text;
    }
    if (Calculator.NewNum)
    {
     strShowText = "";
    }
   }
   Calculator.NewNum = false;
  }
  
  
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.btnSeven.Click += new System.EventHandler(this.btnSeven_Click);
   this.btnEight.Click += new System.EventHandler(this.btnEight_Click);
   this.btnNine.Click += new System.EventHandler(this.btnNine_Click);
   this.btnDivide.Click += new System.EventHandler(this.btnDivide_Click);
   this.btnCE.Click += new System.EventHandler(this.btnCE_Click);
   this.btnFour.Click += new System.EventHandler(this.btnFour_Click);
   this.btnFive.Click += new System.EventHandler(this.btnFive_Click);
   this.btnSix.Click += new System.EventHandler(this.btnSix_Click);
   this.btnMultiply.Click += new System.EventHandler(this.btnMultiply_Click);
   this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
   this.btnOne.Click += new System.EventHandler(this.btnOne_Click);
   this.btnTwo.Click += new System.EventHandler(this.btnTwo_Click);
   this.btnThree.Click += new System.EventHandler(this.btnThree_Click);
   this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
   
   this.btnZero.Click += new System.EventHandler(this.btnZero_Click);
   this.btnNeg.Click += new System.EventHandler(this.btnNeg_Click);
   this.btnDecimal.Click += new System.EventHandler(this.btnDecimal_Click);
   this.btnMinus.Click += new System.EventHandler(this.btnMinus_Click);
   this.btnEquals.Click += new System.EventHandler(this.btnEquals_Click);
   this.Load += new System.EventHandler(this.Page_Load);
   

  }
  #endregion

  private void btnSeven_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(7,ref strShowText);
   txtNum.Text = strShowText;
   
   
  }

  private void btnEight_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(8,ref strShowText);
   txtNum.Text = strShowText;
   
   
  }

  private void btnNine_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(9,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnFour_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(4,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnFive_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(5,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnSix_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(6,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnOne_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(1,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnTwo_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(2,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnThree_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(3,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnZero_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(0,ref strShowText);
   txtNum.Text = strShowText;
   
  }

  private void btnDecimal_Click(object sender, System.EventArgs e)
  {
   MyCalculator.CalculatorNum(".",ref strShowText);
   txtNum.Text = strShowText;
  }

  private void btnClear_Click(object sender, System.EventArgs e)
  {
   MyCalculator.Clear(ref strShowText);
   txtNum.Text = strShowText;
  }

  private void btnNeg_Click(object sender, System.EventArgs e)
  {
   MyCalculator.Sign(ref strShowText);
   txtNum.Text = strShowText;
  }

  private void btnAdd_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Add";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
  }

  private void btnEquals_Click(object sender, System.EventArgs e)
  {
   Calculator.SecondNum = Convert.ToDouble(strShowText);
   switch (Calculator.Operation)
   {
    case "Add":
     txtNum.Text = MyCalculator.Add().ToString();
     break;
    case "Minus":
     txtNum.Text = MyCalculator.Minus().ToString();
     break;
    case "Multiply":
     txtNum.Text = MyCalculator.Multiply().ToString();
     break;
    case "Divide":
     txtNum.Text = MyCalculator.Divide().ToString();
     break;
    

   }
   
  }

  private void btnMinus_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Minus";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
  }

  private void btnMultiply_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Multiply";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
  }

  private void btnDivide_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Divide";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
  }

  private void btnHex_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Hex";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
   txtNum.Text = MyCalculator.HexChange();
  }

  private void btnOct_Click(object sender, System.EventArgs e)
  {
   Calculator.NewNum = true;
   Calculator.Operation = "Hex";
   Calculator.FirstNum = Convert.ToDouble(strShowText);
   txtNum.Text = MyCalculator.OctChange();
  }

  private void btnCE_Click(object sender, System.EventArgs e)
  {
   MyCalculator.Clear(ref strShowText);
   txtNum.Text = strShowText;
  }
 }
 
 public class Calculator
 {
  private double dblSign;
  private static double dblFirstNum;
  private static double dblSecondNum;
  private static double dblResult;
  private static string strResult;
  private static string strOperation;
  private static bool IsNewNum;
  public void CalculatorNum(double num,ref string strnum)
  {
   if (IsNewNum)
   {
    strnum = num.ToString();
   }
   else
   {
    strnum += num.ToString();
   }
   
  }
  public static string Operation
  {
   set
   {
    strOperation = value;
   }
   get
   {
    return strOperation;
   }
  }
  public static bool NewNum
  {
   set
   {
    IsNewNum = value;
   }
   get
   {
    return IsNewNum;
   }
  }
  public void CalculatorNum(string dot,ref string strnum)
  {
   if (strnum != null)
   {
    strnum += dot;
   }
   else
   {
    strnum = "0.";
   }
  }
  public static double FirstNum
  {
   set
   {
    dblFirstNum = value;
   }
   
  }
  public static double SecondNum
  {
   set
   {
    dblSecondNum = value;
   }
  }

  
  public double Add()
  {
   dblResult = dblFirstNum + dblSecondNum;
   return dblResult;
  }
  public double Minus()
  {
   dblResult = dblFirstNum - dblSecondNum;
   return dblResult;
  }
  public double Multiply()
  {
   dblResult = dblFirstNum * dblSecondNum;
   return dblResult;
  }
  public double Divide()
  {
   if (dblSecondNum != 0)
   {
    dblResult = dblFirstNum / dblSecondNum;
   }
   else
   {
    dblResult = 0;
   }
   return dblResult;
  }
  public string HexChange()
  {
   int intNum;
   intNum = (int)dblFirstNum;
   strResult = intNum.ToString("X4");
   return strResult;
  }
  public string OctChange()
  {
   int intNum;
   intNum = (int)dblFirstNum;
   strResult = intNum.ToString();
   return strResult;
  }
  public void Clear(ref string strnum)
  {
   strnum = "0";
  }
  public void Sign(ref string strnum)
  {
   dblSign = Convert.ToDouble(strnum);
   dblSign *= -1;
   strnum = dblSign.ToString();
  }
  
 }
}

原创粉丝点击