This is my original version. The names differ a little from your version, It is not commented. I will add comments to it sometime in the very near future
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 runat="server">
<title></title>
<link href="CalculatorStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Simple Calculator</h1>
<table>
<tr>
<td colspan="3">
<asp:TextBox ID="TextBox1" runat="server" CssClass="entryText" ></asp:TextBox></td>
<td><asp:Button ID="btnMinus" runat="server" Text="-" CssClass="btnWidth"
onclick="btnMinus_Click"/></td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="7" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button2" runat="server" Text="8" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button3" runat="server" Text="9" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="btnPlus" runat="server" Text="+" onclick="btnPlus_Click" CssClass="btnWidth" /></td>
</tr>
<tr>
<td>
<asp:Button ID="Button4" runat="server" Text="4" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button5" runat="server" Text="5" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button6" runat="server" Text="6" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="btnMultiply" runat="server" Text="*" CssClass="btnWidth"
onclick="btnMultiply_Click" /></td>
</tr>
<tr>
<td>
<asp:Button ID="Button8" runat="server" Text="1" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button9" runat="server" Text="2" OnClick="number_click" CssClass="btnWidth" /></td>
<td><asp:Button ID="Button10" runat="server" Text="3" OnClick="number_click" CssClass="btnWidth" /></td>
<td>
<asp:Button ID="btnDivide" runat="server" Text="/" CssClass="btnWidth"
onclick="btnDivide_Click"/></td>
</tr>
<tr>
<td>
<asp:Button ID="Button11" runat="server" Text="0" OnClick="number_click" CssClass="btnWidth" /> </td>
<td>
<asp:Button ID="Button7" runat="server" Text="." OnClick="number_click" CssClass="btnWidth" />
</td>
<td >
<asp:Button ID="btnCalcu" runat="server" Text="=" onclick="btnCalcu_Click" CssClass="btnWidth" /></td>
<td>
<asp:Button ID="btnClear" runat="server" Text="CLR" CssClass="btnWidth"
onclick="btnClear_Click" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
double answer=0;
double number1=0;
double number2=0;
int sessionCheck = 1;
protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
// Session["Answer"] = 0;
}
protected void number_click(object sender, EventArgs e)
{
Button b = (Button)sender;
TextBox1.Text += b.Text;
}
protected void btnPlus_Click(object sender, EventArgs e)
{
GetNumbers();
Session["Answer"] = number1 + number2;
Session["Operator"] = "+";
}
protected void btnCalcu_Click(object sender, EventArgs e)
{
number1 = (double)Session["Answer"];
number2 = double.Parse(TextBox1.Text);
string op = Session["Operator"].ToString();
switch (op)
{
case "+":
answer = number1 + number2;
break;
case "-":
answer = number1 - number2;
break;
case "*":
answer = number1 * number2;
break;
case "/":
answer = number1 / number2;
break;
}
TextBox1.Text = answer.ToString();
Session["Answer"] = null;
}
protected void GetNumbers()
{
if (Session["Answer"] == null)
{
sessionCheck = 0; ;
}
else
{
number1 = (double)Session["Answer"];
}
bool isNumber = double.TryParse(TextBox1.Text, out number2);
if (!isNumber)
{
TextBox1.Text = "";
return;
}
TextBox1.Text = "";
}
protected void btnMinus_Click(object sender, EventArgs e)
{
GetNumbers();
if (sessionCheck == 0)
{
Session["Answer"] = number2;
}
else
{
Session["Answer"] = number1 - number2;
}
Session["Operator"] = "-";
}
protected void btnMultiply_Click(object sender, EventArgs e)
{
GetNumbers();
if (sessionCheck == 0)
{
Session["Answer"]=number2;
}
else
{
Session["Answer"] = number1 * number2;
}
Session["Operator"] = "*";
}
protected void btnDivide_Click(object sender, EventArgs e)
{
GetNumbers();
if (sessionCheck == 0)
{
Session["Answer"] = number2;
}
else
{
Session["Answer"] = number1 / number2;
}
Session["Operator"] = "/";
}
protected void btnClear_Click(object sender, EventArgs e)
{
TextBox1.Text = "";
Session["Answer"] = null;
Session["Operator"] = null;
}
}
And here is the stylesheet CalculatorStyle.css, such as it is
body {
}
.entryText
{
text-align:right;
width:120px;
}
table
{
background-color:Teal;
}
.btnWidth
{
width:40px;
}
No comments:
Post a Comment