Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dsoverby1986/1f50f9208c5d2a5c5c7f to your computer and use it in GitHub Desktop.
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.
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:";
}
}
}
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