0% found this document useful (0 votes)
58 views

Calculator Coding

This document contains code for a basic calculator application. It defines variables to store operands, operators, and the display text. Methods are included to handle number button clicks by adding digits to the display, as well as operator buttons to perform calculations and update the displayed value. Additional methods manage clearing values and the display on cancel events.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Calculator Coding

This document contains code for a basic calculator application. It defines variables to store operands, operators, and the display text. Methods are included to handle number button clicks by adding digits to the display, as well as operator buttons to perform calculations and update the displayed value. Additional methods manage clearing values and the display on cancel events.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

using using using using using using using using

System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms;

namespace WindowsFormsApplication1 { public partial class Form6 : Form { public Form6() { InitializeComponent(); } Double op1, op2; //Op1 is operand1 //Op2 is operand2 Boolean entry,equal,backNo; //Entry mentions the entry of the first operand (operand1) char operator_; //Operator_ stores the value of operator specified by the user private void _cmdDigit_7_Click(object sender, EventArgs e) { enter_digit('7'); } private void cmdCancel_Click(object sender, EventArgs e) { txtDisplay.Text = "0"; op1 = 0.0; op2 = 0.0;

} private void cmdCancelEntry_Click(object sender, EventArgs e) { txtDisplay.Text = "0"; } private void Form6_Load(object sender, EventArgs e) { op1 = 0.0; op2 = 0.0; entry = false; operator_ =' '; txtDisplay.Text = "0"; equal = false; } private void _cmdDigit_8_Click(object sender, EventArgs e) { enter_digit('8'); } private void _cmdDigit_9_Click(object sender, EventArgs e) { enter_digit('9'); } private void _cmdDigit_4_Click(object sender, EventArgs e) { enter_digit('4'); } public void enter_digit(char n) {

if (equal) { op1 = 0.0; op2 = 0.0; } if ((txtDisplay.Text == "0") || entry||equal) { txtDisplay.Text = n.ToString(); entry = false; equal = false; } else { txtDisplay.Text = txtDisplay.Text + n.ToString(); } backNo = false; } private void _cmdDigit_5_Click(object sender, EventArgs e) { enter_digit('5'); } private void _cmdDigit_6_Click(object sender, EventArgs e) { enter_digit('6'); } private void _cmdDigit_1_Click(object sender, EventArgs e) { enter_digit('1'); } private void _cmdDigit_2_Click(object sender, EventArgs e)

{ enter_digit('2'); } private void _cmdDigit_3_Click(object sender, EventArgs e) { enter_digit('3'); } private void _cmdDigit_0_Click(object sender, EventArgs e) { enter_digit('0'); } private void cmdAdd_Click(object sender, EventArgs e) { operation('+'); } private void cmdEqual_Click(object sender, EventArgs e) { if (equal) { op1 = double.Parse(txtDisplay.Text); switch (operator_) { case '+': txtDisplay.Text = (op1 + op2).ToString(); break; case '-': txtDisplay.Text = (op1 - op2).ToString(); break; case '/': txtDisplay.Text = (op1 / op2).ToString();

break; case '*': txtDisplay.Text = (op1 * op2).ToString(); break; } } else { if (op1 == 0) { txtDisplay.Text = txtDisplay.Text; } else { op2 = Double.Parse(txtDisplay.Text); switch (operator_) { case '+': txtDisplay.Text = (op1 + op2).ToString(); break; case '-': txtDisplay.Text = (op1 - op2).ToString(); break; case '/': txtDisplay.Text = (op1 / op2).ToString(); break; case '*': txtDisplay.Text = (op1 * op2).ToString(); break; } } } entry = false; equal = true;

backNo = true; } private void cmdMinus_Click(object sender, EventArgs e) { operation('-'); } public void operation(char operator__) { if (txtDisplay.Text.Length > 0) { char[] a = txtDisplay.Text.ToCharArray(); if (a[a.Length - 1] == '.') { txtDisplay.Text = txtDisplay.Text.Remove(txtDisplay.Text.Length - 1); } } if (op1 == 0.0) { op1 = Double.Parse(txtDisplay.Text); } else { op2 = Double.Parse(txtDisplay.Text); switch (operator_) { case '+': txtDisplay.Text = (op1 + op2).ToString(); break; case '-': txtDisplay.Text = (op1 - op2).ToString(); break; case '/':

txtDisplay.Text = (op1 / op2).ToString(); break; case '*': txtDisplay.Text = (op1 * op2).ToString(); break; case '%': txtDisplay.Text = (op2 / 100).ToString(); break; } backNo = true; } operator_ = operator__; op1 = Double.Parse(txtDisplay.Text); entry = true; equal = false; } private void cmdDivision_Click(object sender, EventArgs e) { operation('/'); } private void cmdMultiply_Click(object sender, EventArgs e) { operation('*'); } Double val; private void cmdPercent_Click(object sender, EventArgs e) { if (op1 == 0) { txtDisplay.Text = txtDisplay.Text; } else

{ op2 = Double.Parse(txtDisplay.Text); switch (operator_) { case '+': txtDisplay.Text = (op1 + op2).ToString(); break; case '-': txtDisplay.Text = (op1 - op2).ToString(); break; case '/': txtDisplay.Text = (op1 / op2).ToString(); break; case '*': txtDisplay.Text = (op1 * op2).ToString(); break; } } val = Double.Parse(txtDisplay.Text) / 100; txtDisplay.Text = val.ToString(); equal = true; } private void cmdSign_Click(object sender, EventArgs e) { val = Double.Parse(txtDisplay.Text); if (val != 0) val *= (-1); txtDisplay.Text = val.ToString(); } private void cmdDecimal_Click(object sender, EventArgs e) { if (!txtDisplay.Text.Contains('.'))

{ txtDisplay.Text = txtDisplay.Text + "."; } } private void button1_Click(object sender, EventArgs e) { if (!backNo) { if (txtDisplay.Text.Length > 0) { txtDisplay.Text = txtDisplay.Text.Remove(txtDisplay.Text.Length - 1); if (txtDisplay.Text.Length == 0) { txtDisplay.Text = "0"; } } } } } }

You might also like