Calculator code at GitHub
For assignments you can post on get hub, or zip the file and post it to Google Drive and share with spconger@gmail.com
Here is the code we did in class
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="CalcStyle.css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td colspan="3">
<asp:TextBox ID="txtDisplay" runat="server" CssClass="display"></asp:TextBox></td>
<td>
<asp:Button ID="btnClear" runat="server" Text="C" OnClick="btnClear_Click" /></td>
</tr>
<tr>
<td>
<asp:Button ID="btn7" runat="server" Text="7" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btn8" runat="server" Text="8" OnClick="number_click" />
</td>
<td>
<asp:Button ID="btn9" runat="server" Text="9" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btnPlus" runat="server" Text="+" OnClick="btnPlus_Click" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="btn4" runat="server" Text="4" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btn5" runat="server" Text="5" OnClick="number_click" />
</td>
<td>
<asp:Button ID="btn6" runat="server" Text="6" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btnMinus" runat="server" Text="-" OnClick="btnMinus_Click" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="btn1" runat="server" Text="1" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btn2" runat="server" Text="2" OnClick="number_click" />
</td>
<td>
<asp:Button ID="btn3" runat="server" Text="3" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btnMultiply" runat="server" Text="*" OnClick="btnMultiply_Click" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="btn0" runat="server" Text="0" OnClick="number_click"/>
</td>
<td>
<asp:Button ID="btnDecimal" runat="server" Text="." OnClick="number_click" />
</td>
<td>
<asp:Button ID="btnEqual" runat="server" Text="=" OnClick="btnEqual_Click" style="height: 26px" />
</td>
<td>
<asp:Button ID="btnDivide" runat="server" Text="/" OnClick="btnDivide_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Default.aspx.
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
{
///
/// This is the code behind for the calculator
/// one method handles the number clicks
/// and there is a method for each of the operators
/// Steve Conger 4/9/2013
///
double number1;
double number2;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void number_click(object sender, EventArgs e)
{
//This gets the button that was clicked
//and writes the code to the textbox
Button button = (Button)sender;
txtDisplay.Text += button.Text;
}
protected void btnPlus_Click(object sender, EventArgs e)
{
//bool goodNumber = ValidNumber();
if (ValidNumber())
{
Session["operator"] = "+";
Session["answer"] = number1;
txtDisplay.Text = "";
}
}
protected void btnEqual_Click(object sender, EventArgs e)
{
if (Session["operator"] != null)
{
if (Session["answer"] != null)
{
string op = Session["operator"].ToString();
number1=(double)Session["answer"];
number2=double.Parse(txtDisplay.Text);
Operations operations = new Operations();
switch (op)
{
case "+":
txtDisplay.Text = operations.Add(number1, number2).ToString();
break;
case "-":
txtDisplay.Text = operations.Subtract(number1, number2).ToString();
break;
case "*":
txtDisplay.Text = operations.Multiply(number1, number2).ToString();
break;
case "/":
txtDisplay.Text = operations.Divide(number1, number2).ToString();
break;
}
}
Session["answer"] = null;
Session["operator"] = null;
}
}
protected void btnMinus_Click(object sender, EventArgs e)
{
if (ValidNumber())
{
Session["operator"] = "-";
Session["answer"] = number1;
txtDisplay.Text = "";
}
}
protected bool ValidNumber()
{
bool isValid=false;
bool IsNumber = double.TryParse(txtDisplay.Text, out number1);
if (!IsNumber)
{
txtDisplay.Text = "";
}
else
{
isValid = true;
}
return isValid;
}
protected void btnMultiply_Click(object sender, EventArgs e)
{
if (ValidNumber())
{
Session["operator"] = "*";
Session["answer"] = number1;
txtDisplay.Text = "";
}
}
protected void btnDivide_Click(object sender, EventArgs e)
{
if (ValidNumber())
{
Session["operator"] = "/";
Session["answer"] = number1;
txtDisplay.Text = "";
}
}
protected void btnClear_Click(object sender, EventArgs e)
{
Session["answer"] = null;
Session["operator"] = null;
txtDisplay.Text = "";
}
}
Operations.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; ////// Summary description for Operations /// public class Operations { public Operations() { // // TODO: Add constructor logic here // } public double Add(double num1, double num2) { return num1 + num2; } public double Subtract(double num1, double num2) { return num1 - num2; } public double Multiply(double num1, double num2) { return num1 * num2; } public double Divide(double num1, double num2) { return num1 / num2; } }
CalcStyle.css
body {
}
.display {
text-align:right;
background-color:aliceblue;
}
No comments:
Post a Comment