The error returned is "Unhandled exception at 0x01355144 in Homework_3_Problem_15.exe: 0xC0000094: Integer division by zero."
I can see that the variable 'greatestCommonDivisor' is being assigned a value of 0, but I can't figure out why.
Here's my code:
#include "stdafx.h"
#include <iostream>
using namespace std;
int greatestCommonDivisor;
void inputNumbers(int& numerator, int& denominator);
int convertToGreatestCommonDivisor(int numerator, int denominator);
void convertToLowestTerms(int& numerator, int& denominator);
int _tmain(int argc, _TCHAR* argv[])
{
int numerator = 1;
int denominator = 1;
inputNumbers(numerator, denominator);
convertToGreatestCommonDivisor(numerator, denominator);
convertToLowestTerms(numerator, denominator);
return 0;
}
void inputNumbers(int& numerator, int& denominator)
{
cout << "\n";
cout << "Please enter the numerator: ";
cin >> numerator;
cout << "Please enter the denominator: ";
cin >> denominator;
cout << "\n";
return;
}
int convertToGreatestCommonDivisor(int numerator, int denominator)
{
int greatestCommonDivisor;
int i;
// checks if i is greater than the numerator *and* the denominator
for (i = 1; i <= numerator && i <= denominator; i++)
{
if (numerator % i == 0 && denominator % i == 0)
{
greatestCommonDivisor = i;
}
}
return (greatestCommonDivisor);
}
void convertToLowestTerms(int& numerator, int& denominator)
{
cout << "The fraction " << numerator << " / " << denominator << " reduces to " <<
(numerator / greatestCommonDivisor) << " / " << (denominator / greatestCommonDivisor);
}
Any help you can give would be greatly appreciated.