Source of eval_expressions.cpp


  1: //eval_expressions.cpp
  2: //Illustrates arithmetic expression evaluation, and
  3: //arithmetic operator precedence rules.

  5: #include <iostream>
  6: using namespace std;

  8: int main()
  9: {
 10:     cout << "\nThis program displays the results of "
 11:         "evaluating several arithmetic expressions.\n\n";

 13:     cout << "This first group involves only integer values:\n"
 14:          << "1 + 2 * 5 - 3 * 5     --> " << 1 + 2 * 5 - 3 * 5     << "\t"
 15:          << "(1 + 2) * 5 - (3 * 5) --> " << (1 + 2) * 5 - (3 * 5) << "\n"
 16:          << "13 / 2 * 3            --> " << 13 / 2 * 3            << "\t"
 17:          << "12 + 3 / 4 * 2        --> " << 12 + 3 / 4 * 2        << "\n"
 18:          << "238 % 10 + 3 % 7      --> " << 238 % 10 + 3 % 7      << "\t"
 19:          << "5 * 2 / 4 * 2         --> " << 5 * 2 / 4 * 2         << "\n"
 20:          << "5 * 2 / (4 * 2)       --> " << 5 * 2 / (4 * 2)       << "\t"
 21:          << "5 + 2 / (4 * 2)       --> " << 5 + 2 / (4 * 2)       << "\n"
 22:          << "10 % 3 - 4 / 2        --> " << 10 % 3 - 4 / 2        << "\n\n";

 24:     cout << "This second group involves only floating point values:"
 25:          << "\n2.61 + 13.4 - 6.2 / 0.2 --> " << 2.61 + 13.4 - 6.2 / 0.2
 26:          << "\n(-5.3 + 1.1) * 5.0      --> " << (-5.3 + 1.1) * 5.0
 27:          << "\n\n";

 29:     cout << "This third group involves both "
 30:          << "integer and floating point values:\n"
 31:          << "3.1 + 2         --> " << 3.1 + 2         << "\t\t"
 32:          << "5 - 3.6       --> "   << 5 - 3.6         << "\n"
 33:          << "3.14 * 4        --> " << 3.14 * 4        << "\t"
 34:          << "0.123 / 3     --> "   << 0.123 / 3       << "\n"
 35:          << "3.6 + 6 / 10    --> " << 3.6 + 6 / 10    << "\t\t"
 36:          << "-1.7 + 10 / 4 --> "   << -1.7 + 10 / 4   << "\n"
 37:          << "-1.7 + 10 / 4.0 --> " << -1.7 + 10 / 4.0 << "\t\t"
 38:          << "1/3 + 2/3     --> "   << 1/3 + 2/3       << "\n"
 39:          << "1.0/3 + 2/3     --> " << 1.0/3 + 2/3     << "\t"
 40:          << "1.0/3 + 2/3.0 --> "   << 1.0/3 + 2/3.0   << "\n"
 41:          << endl;
 42: }