Basically I'm having problems with a calculator I'm working on. Basically I'm using the windows calculator as a base to mimic its behaviours and I'm having problems if the user enters longer expressions such as 1-4-7 = -10
Heres what I have so far:-
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Freshcalculator
{
public partial class Form1 : Form
{
double TempValue1;
double TempValue2;
string OperatorFlag;
string PrevOperatorFlag;
public Form1()
{
InitializeComponent();
}
private void btnOne_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "1";
}
private void btnTwo_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "2";
}
private void btnThree_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "3";
}
private void btnFour_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "4";
}
private void btnFive_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "5";
}
private void btnSix_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "6";
}
private void btnSeven_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "7";
}
private void btnEight_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "8";
}
private void btnNine_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "9";
}
private void btnZero_Click(object sender, EventArgs e)
{
txtResult.Text = txtResult.Text + "0";
}
private void btnPlus_Click(object sender, EventArgs e)
{
TempValue1 = double.Parse(txtResult.Text);
txtResult.Text = string.Empty;
OperatorFlag = "+";
}
private void btnEquals_Click(object sender, EventArgs e)
{
switch (OperatorFlag)
{
//addition
case "+":
TempValue2 = Double.Parse(txtResult.Text);
TempValue1 = TempValue1 + TempValue2;
PrevOperatorFlag = "+";
OperatorFlag = "";
break;
case "-":
TempValue2 = Double.Parse(txtResult.Text);
TempValue1 = TempValue1 - TempValue2;
PrevOperatorFlag = "-";
OperatorFlag = "";
break;
case "":
if (PrevOperatorFlag == "+")
{
TempValue1 += TempValue2;
}
else if (PrevOperatorFlag == "-")
{
TempValue1 -= TempValue2;
}
break;
}
txtResult.Text = TempValue1.ToString();
}
private void btnMinus_Click(object sender, EventArgs e)
{
TempValue1 = double.Parse(txtResult.Text);
txtResult.Text = string.Empty;
OperatorFlag = "-";
}


Sign In
Create Account

Back to top









