#include <iostream>
#include <iomanip>
#include <ctype.h>
using namespace std;
int main()
{
cout << "\t\tThis Program tests your Math abilities\n";
cout << "\tfor addition / subtraction / multiplication / division / modulo\n";
cout << "\t\t\tBy Hanjun Park\n";
cout << "\n";
cout << "\n";
cout << "\t*** IMPORTANT NOTE : \n";
cout << "\t\tFor division please provide the answer\n";
cout << "\tto two decimal places ONLY ***\n";
cout << "\n";
double choice;
float firstNumAdd, secondNumAdd, resultAdd;
float firstNumSub, secondNumSub, resultSub;
float firstNumMul, secondNumMul, resultMul;
float firstNumDiv, secondNumDiv, resultDiv;
int firstNumMol, secondNumMol, resultMol;
const int ADDITION = 1,
SUBTRACTION = 2,
MULTIPLICATION = 3,
DIVISION = 4,
MODULO = 5,
END_PROGRAM = 6;
cout << "\n";
cout << "\t1] Addition\n";
cout << "\t2] Subtraction\n";
cout << "\t3] Multiplication\n";
cout << "\t4] Division\n";
cout << "\t5] Modulo\n";
cout << "\t6] End program\n";
cout << "\n";
cout << "\tEnter Choice: ";
cin >> choice;
cout << choice << "\n";
if ((float)choice / 1.00 != int(choice))
{
cout << "\tInput was not a WHOLE number\n" << "\tGoodbye! ... Exiting the program\n" << endl << "Please Hit EXTER to Exit ...";
cin.get();
cin.get();
return 0;
}
else if (choice >= 1 && choice <= 6)
{
cout << choice ;//<< " nomal";
switch ((int)choice)
{
case ADDITION: cout << "\tEnter First Number: ";
cin >> firstNumAdd;
cout << "\n";
cout << "\tEnter Second Number: ";
cin >> secondNumAdd;
cout << "\n";
resultAdd = firstNumAdd + secondNumAdd;
cout << "\t" << firstNumAdd << " + " << secondNumAdd << " = " << resultAdd << endl;
cout << "\n";
cout << "\n";
cout << "\tPlease Hit ENTER to Exit ...";
break;
case SUBTRACTION: cout << "\tEnter First Number: ";
cin >> firstNumSub;
cout << "\n";
cout << "\tEnter Second Number: ";
cin >> secondNumSub;
cout << "\n";
resultSub = firstNumSub - secondNumSub;
cout << "\t" << firstNumSub << " - " << secondNumSub << " = " << resultSub << endl;
cout << "\n";
cout << "\n";
cout << "\tPlease Hit ENTER to Exit ...";
break;
case MULTIPLICATION: cout << "\tEnter First Number: ";
cin >> firstNumMul;
cout << "\n";
cout << "\tEnter Second Number: ";
cin >> secondNumMul;
cout << "\n";
resultMul = firstNumMul * secondNumMul;
cout << "\t" << firstNumMul << " * " << secondNumMul << " = " << resultMul << endl;
cout << "\n";
cout << "\n";
cout << "\tPlease Hit ENTER to Exit ...";
break;
case DIVISION: cout << "\tEnter First Number: ";
cin >> firstNumDiv;
cout << "\n";
cout << "\tEnter Second Number: ";
cin >> secondNumDiv;
cout << "\n";
resultDiv = firstNumDiv / secondNumDiv;
cout << "\t" << firstNumDiv << " / " << secondNumDiv;
cout << setprecision(2) << fixed;
cout << " = " << resultDiv << endl;
cout << "\n";
cout << "\n";
cout << "\tPlease Hit ENTER to Exit ...";
break;
case MODULO: cout << "\tEnter First Number: ";
cin >> firstNumMol;
cout << "\n";
cout << "\tEnter Second Number: ";
cin >> secondNumMol;
cout << "\n";
resultMol = firstNumMol % secondNumMol;
cout << "\t" << firstNumMol << " % " << secondNumMol << " = " << resultMol << endl;
cout << "\n";
cout << "\n";
cout << "\tPlease Hit ENTER to Exit ...";
break;
case END_PROGRAM: cout << "\n";
cout << "\tGoodbye! ...Exiting the program" << endl << endl;
cout << "\tPlease Hit ENTER to Exit ...";
break;
}
}
else if ((choice < 1 || choice > 6) && isdigit(choice))
{
cout << isalpha(choice);
cout << isdigit(choice);
cout << "\tInput is out of range. Valid range is 1-6\n" << "\tGoodbye! ...Exiting the program" << endl << endl << "\tPlease Hit ENTER to Exit ...";
cin.get();
cin.get();
return 0;
}
else
{
cout << choice << "nomal" << endl;
cout << isalpha(choice);
cout << isdigit(choice);
cout << "\tInput is not a number\n" << "\tGoodbye! ...Exiting the program" << endl << endl << "\tPlease Hit ENTER to EXIT ...";
cin.get();
cin.get();
return 0;
}
cin.get();
cin.get();
return 0;
}