#include #include #include #include using namespace std; void add(), subtract(), multiply(), divide(); int main(int argc, char *argv[]) { const int size(100); char choice, decision; double number; do { cout << "\t\tMath Calculator"; cout << "\n\nSelect one of the following functions:" << endl; cout << "A. Add" << endl; cout << "B. Subtract" << endl; cout << "C. Multiply" << endl; cout << "D. Divide" << endl; cout << "\nYour Choice : "; cin >> choice; system("CLS"); switch ( choice ) { case 'A': add(); break; case 'a': add(); break; case 'B': subtract(); break; case 'b': subtract(); break; case 'C': multiply(); break; case 'c': multiply(); break; case 'D': divide(); break; case 'd': divide(); break; } cout << "Would you like to use another function (Y/N)?"; cin >> decision; system("CLS"); } while ( decision == 'Y' || decision == 'y' ); system("PAUSE"); return EXIT_SUCCESS; } void add() { int position(0), position2(0), length(0), i(0); double number(0), sum(0); string str1, str2; stringstream stream; cout << "Please enter some numbers, enter = to sum them.\n\n"; getline(cin, str1, '='); str1.insert(0, 1, '0'); str1.insert(1, 1, '\n'); int b(str1.length()); while ( i <= b-3 ) { position = str1.find('\n', i); position2 = str1.find('\n', position+1); length = (position2 - position -1); str2 = str1.substr(position+1, length); stream.clear(); stream << str2; stream >> number; sum += number; i=position2; number = 0; } cout << "The sum is : "<< sum << endl; system("PAUSE"); } void multiply() { int position(0), position2(0), length(0), i(0); double number(0), product(1); string str1, str2; stringstream stream; cout << "Please enter some numbers, enter = to multiply them.\n\n"; getline(cin, str1, '='); str1.insert(0, 1, '0'); str1.insert(1, 1, '\n'); int b(str1.length()); while ( i <= b-3 ) { position = str1.find('\n', i); position2 = str1.find('\n', position+1); length = (position2 - position -1); str2 = str1.substr(position+1, length); stream.clear(); stream << str2; stream >> number; product = (product*number); i=position2; number = 0; } cout << "The product is :" << product << endl; system("PAUSE"); } void subtract() { int position(0), position2(0), length(0), i(0); double number(0), difference(0); string str1, str2; stringstream stream; cout << "Please enter some numbers, enter = to subtract them from the first number you entered.\n\n"; cin >> difference; cout << "-"; cin.ignore(1, '\n'); getline(cin, str1, '='); str1.insert(0, 1, '0'); str1.insert(1, 1, '\n'); int b(str1.length()); while ( i <= b-3 ) { position = str1.find('\n', i); position2 = str1.find('\n', position+1); length = (position2 - position -1); str2 = str1.substr(position+1, length); stream.clear(); stream << str2; stream >> number; difference = ( difference - number ); i=position2; number = 0; } cout << "The difference is :" << difference << endl; system("PAUSE"); } void divide() { int position(0), position2(0), length(0), i(0); double number(0), quotient(1); string str1, str2; stringstream stream; cout << "Please enter some numbers, enter = to divide them.\n\n"; cin >> quotient; cout << "divided by "; cin.ignore(1, '\n'); getline(cin, str1, '='); str1.insert(0, 1, '0'); str1.insert(1, 1, '\n'); int b(str1.length()); while ( i <= b-3 ) { position = str1.find('\n', i); position2 = str1.find('\n', position+1); length = (position2 - position -1); str2 = str1.substr(position+1, length); stream.clear(); stream << str2; stream >> number; while (number==0) { cout << "Unpossible, Can't divide by Zero!!!"; cout << "\nTry again :"; cin >> number; } quotient = (quotient*(1/number)); i=position2; number = 0; } cout << "The quotient is :" << quotient << endl; system("PAUSE"); }