Quote Originally Posted by Epo
What does this:
Code:
char 'a', 's', 'm', 'd', 'x', 'A', 'S', 'M', 'D', 'X';
do?
Duh.... brain fart on that one. Thanks for pointin that out. OK... so I got my program working almost perfectly. But... I want it to keep executing until the user inputs 'x'. Right now it's ending after I run the program once. Here's the code... it's pretty long, but I'm not sure what part needs to be dealt with to make it repeat the way it should.

Code:
#include <iostream>

void menu(char&, int&, int&, int&, int&);
void addFractions(int, int, int, int, int, int);
void subtractFractions(int, int, int, int, int, int);
void multiplyFractions(int, int, int, int, int, int);
void divideFractions(int, int, int, int, int, int);

using namespace std;

int main()
{
	char operation;
	int numeratorOne, denominatorOne, numeratorTwo, denominatorTwo;
	int numeratorResult = 0, denominatorResult = 0;

	menu(operation, numeratorOne, denominatorOne, numeratorTwo, denominatorTwo);
	
	switch(operation)
	{
	case 'A': case 'a': addFractions(numeratorOne, denominatorOne, numeratorTwo, 
					denominatorTwo, numeratorResult, denominatorResult); break;
	case 'S': case 's': subtractFractions(numeratorOne, denominatorOne, numeratorTwo, 
					denominatorTwo, numeratorResult, denominatorResult);break;
	case 'M': case 'm': multiplyFractions(numeratorOne, denominatorOne, numeratorTwo, 
					denominatorTwo, numeratorResult, denominatorResult); break;
	case 'D': case 'd': divideFractions(numeratorOne, denominatorOne, numeratorTwo, 
					denominatorTwo, numeratorResult, denominatorResult); break;
	case 'X': case 'x': break;
	default: cout << "Invalid selection"; break;
	}
	return 0;
}
void menu(char& operation, int& numeratorOne, int& denominatorOne,
		  int& numeratorTwo, int& denominatorTwo)
{
	cout << "This program performs operations on fractions. Enter"
		 << "\na : To add fraction"
		 << "\ns : To subtract fraction"
		 << "\nm : To multiply fraction"
		 << "\nd : To divide fraction"
		 << "\nx : To exit the program" << endl;
	cin >> operation;
	cout << endl;
	cout << "For fraction 1"
		 << "\nEnter the numerator: ";
	cin >> numeratorOne;
	cout << endl;
	cout << "Enter the denominator: ";
	cin >> denominatorOne;
	cout << endl;
		if (denominatorOne == 0)
		{
			cout << "The denominator must be nonzero"
				 << "\nEnter the denominator: ";
			cin >> denominatorOne;
			cout << endl;
		}
	cout << "For fraction 2"
		 << "\nEnter the numerator: ";
	cin >> numeratorTwo;
	cout << endl;
	cout << "Enter the denominator: ";
	cin >> denominatorTwo;
	cout << endl;
		if (denominatorTwo == 0)
		{
			cout << "The denominator must be nonzero"
				 << "\nEnter the denominator: ";
			cin >> denominatorTwo;
			cout << endl;
		}
}
void addFractions(int numeratorOne, int denominatorOne, int numeratorTwo,
				  int denominatorTwo, int numeratorResult, int denominatorResult)
{
	numeratorResult = (numeratorOne * denominatorTwo) + (numeratorTwo * denominatorOne);
	denominatorResult = denominatorOne * denominatorTwo;
	cout << numeratorOne << "/" << denominatorOne << " + " << numeratorTwo
		 << "/" << denominatorTwo << " = " << numeratorResult << "/" 
		 << denominatorResult << endl;
}
void subtractFractions(int numeratorOne, int denominatorOne, int numeratorTwo,
				  int denominatorTwo, int numeratorResult, int denominatorResult)
{
	numeratorResult = (numeratorOne * denominatorTwo) - (numeratorTwo * denominatorOne);
	denominatorResult = denominatorOne * denominatorTwo;
	cout << numeratorOne << "/" << denominatorOne << " - " << numeratorTwo
		 << "/" << denominatorTwo << " = " << numeratorResult << "/" 
		 << denominatorResult << endl;
}
void multiplyFractions(int numeratorOne, int denominatorOne, int numeratorTwo,
				  int denominatorTwo, int numeratorResult, int denominatorResult)
{
	numeratorResult = numeratorOne * numeratorTwo;
	denominatorResult = denominatorOne * denominatorTwo;
	cout << numeratorOne << "/" << denominatorOne << " * " << numeratorTwo
		 << "/" << denominatorTwo << " = " << numeratorResult << "/" 
		 << denominatorResult << endl;
}
void divideFractions(int numeratorOne, int denominatorOne, int numeratorTwo,
				  int denominatorTwo, int numeratorResult, int denominatorResult)
{
	numeratorResult = numeratorOne * denominatorTwo;
	denominatorResult = denominatorOne * numeratorTwo;
	cout << numeratorOne << "/" << denominatorOne << " / " << numeratorTwo
		 << "/" << denominatorTwo << " = " << numeratorResult << "/" 
		 << denominatorResult << endl;
}