// euclid.cpp - Compute Greatest Common Divisor of two positive integers
//              using the Euclidean Algorithm

#include <iostream>

// Get a positive integer from user
int getPositive(void){
  int current;

  while( 1 ){
      cout << "Please enter a positive integer: ";
      cin >> current;
      if (current > 0) return current;
      cout << "It should be a positive integer";
  }
}

// Compute GCD
int gcd (int dividend, int divisor)
{
  int remaind;

  remaind = dividend % divisor;
  while (remaind != 0) {
       dividend	= divisor;
       divisor	= remaind;
       remaind	= dividend % divisor;
  }
  return divisor;
}

void main(void)
{
  int dividend = getPositive();
  int divisor  = getPositive();

  cout << "The GCD of " << dividend << " and " << divisor << " is "
       <<  gcd(dividend, divisor) << endl;
}
