Last active
August 29, 2015 14:16
-
-
Save dsoverby1986/1f50f9208c5d2a5c5c7f to your computer and use it in GitHub Desktop.
This is the code for my GCD calculator. I couldn't help myself. It also calculates LCM.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; | |
using System.Data; | |
using System.Drawing; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Windows.Forms; | |
namespace GCD_LCM_Calculator | |
{ | |
public partial class Form1 : Form | |
{ | |
public Form1() | |
{ | |
InitializeComponent(); | |
} | |
private void btnGetValue_Click(object sender, EventArgs e) | |
{ | |
if(tbFirstNumber.Text.Contains(".") || tbSecondNumber.Text.Contains(".")) | |
{ | |
MessageBox.Show("Key-in only integers."); | |
tbFirstNumber.Clear(); | |
tbSecondNumber.Clear(); | |
lblValueDisplay.Text = ""; | |
} | |
else | |
{ | |
int firstNumber = int.Parse(tbFirstNumber.Text); | |
int secondNumber = int.Parse(tbSecondNumber.Text); | |
int absFirstNumber = Math.Abs(firstNumber); | |
int absSecondNumber = Math.Abs(secondNumber); | |
if (tbFirstNumber.Text == "0" || tbSecondNumber.Text == "0") | |
{ | |
MessageBox.Show("Values must be non-zero."); | |
tbFirstNumber.Clear(); | |
tbSecondNumber.Clear(); | |
lblValueDisplay.Text = ""; | |
} | |
else if (absFirstNumber == absSecondNumber) | |
{ | |
lblValueDisplay.Text = absFirstNumber.ToString(); | |
} | |
else | |
{ | |
int product = 1; | |
int holder = 0; | |
if (absFirstNumber < absSecondNumber) | |
{ | |
var numberHolder = absFirstNumber; | |
absFirstNumber = absSecondNumber; | |
absSecondNumber = numberHolder; | |
} | |
if (btnGetValue.Text == "Get GCD") | |
{ | |
while (product > 0) | |
{ | |
product = absFirstNumber - absSecondNumber; | |
if (product == absSecondNumber) | |
{ | |
holder = product; | |
} | |
if (product > absSecondNumber) | |
{ | |
absFirstNumber = product; | |
} | |
else | |
{ | |
absFirstNumber = absSecondNumber; | |
absSecondNumber = product; | |
} | |
} | |
lblValueDisplay.Text = holder.ToString(); | |
} | |
else if (btnGetValue.Text == "Get LCM") | |
{ | |
int nextHolder = absFirstNumber * absSecondNumber; | |
while (product > 0) | |
{ | |
product = absFirstNumber - absSecondNumber; | |
if (product == absSecondNumber) | |
{ | |
holder = product; | |
} | |
if (product > absSecondNumber) | |
{ | |
absFirstNumber = product; | |
} | |
else | |
{ | |
absFirstNumber = absSecondNumber; | |
absSecondNumber = product; | |
} | |
} | |
lblValueDisplay.Text = (nextHolder / holder).ToString(); | |
} | |
} | |
} | |
} | |
private void btnClearAll_Click(object sender, EventArgs e) | |
{ | |
tbFirstNumber.Clear(); | |
tbSecondNumber.Clear(); | |
lblValueDisplay.Text = ""; | |
} | |
private void gCdToolStripMenuItem_Click(object sender, EventArgs e) | |
{ | |
btnGetValue.Text = "Get GCD"; | |
lblValueIs.Text = "GCD is:"; | |
} | |
private void lCMToolStripMenuItem_Click(object sender, EventArgs e) | |
{ | |
btnGetValue.Text = "Get LCM"; | |
lblValueIs.Text = "LCM is:"; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; | |
using System.Data; | |
using System.Drawing; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Windows.Forms; | |
namespace GCD_LCM_Calculator | |
{ | |
public partial class Form1 : Form | |
{ | |
public Form1() | |
{ | |
InitializeComponent(); | |
} | |
private void btnGetValue_Click(object sender, EventArgs e) | |
{ | |
if(tbFirstNumber.Text.Contains(".") || tbSecondNumber.Text.Contains(".")) | |
{ | |
MessageBox.Show("Key-in only integers."); | |
} | |
int firstNumber = int.Parse(tbFirstNumber.Text); | |
int secondNumber = int.Parse(tbSecondNumber.Text); | |
int product = 1; | |
int holder = 0; | |
if (firstNumber < secondNumber) | |
{ | |
var numberHolder = firstNumber; | |
firstNumber = secondNumber; | |
secondNumber = numberHolder; | |
} | |
if(btnGetValue.Text == "Get GCD") | |
{ | |
while (product > 0) | |
{ | |
product = firstNumber - secondNumber; | |
if (product == secondNumber) | |
{ | |
holder = product; | |
} | |
if (product > secondNumber) | |
{ | |
firstNumber = product; | |
} | |
else | |
{ | |
firstNumber = secondNumber; | |
secondNumber = product; | |
} | |
} | |
lblValueDisplay.Text = holder.ToString(); | |
} | |
else if(btnGetValue.Text == "Get LCM") | |
{ | |
int nextHolder = firstNumber * secondNumber; | |
while (product > 0) | |
{ | |
product = firstNumber - secondNumber; | |
if (product == secondNumber) | |
{ | |
holder = product; | |
} | |
if (product > secondNumber) | |
{ | |
firstNumber = product; | |
} | |
else | |
{ | |
firstNumber = secondNumber; | |
secondNumber = product; | |
} | |
} | |
lblValueDisplay.Text = (nextHolder / holder).ToString(); | |
} | |
} | |
private void btnClearAll_Click(object sender, EventArgs e) | |
{ | |
tbFirstNumber.Clear(); | |
tbSecondNumber.Clear(); | |
lblValueDisplay.Text = ""; | |
} | |
private void gCdToolStripMenuItem_Click(object sender, EventArgs e) | |
{ | |
btnGetValue.Text = "Get GCD"; | |
lblValueIs.Text = "GCD is:"; | |
} | |
private void lCMToolStripMenuItem_Click(object sender, EventArgs e) | |
{ | |
btnGetValue.Text = "Get LCM"; | |
lblValueIs.Text = "LCM is:"; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment