Advertisement
Guest User

Untitled

a guest
Mar 29th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 16.78 KB | None | 0 0
  1. // It's Time To Calculate The Calculations With A Calculator !
  2.  
  3. #include "stdafx.h"
  4.  
  5. #include <iostream>
  6. #include <fstream>
  7. #include <string>
  8. #include <cmath>
  9. #include <iomanip>
  10. #include <algorithm>
  11.  
  12. double a{ 0 };
  13. double x;
  14. double y;
  15. char z;
  16.  
  17. int combine(int first, int second)
  18. {
  19.     if (second == 0)
  20.     {
  21.         return first * 10;
  22.     }
  23.     else
  24.     {
  25.         int times = 1;
  26.         while (times <= second)
  27.             times *= 10;
  28.         return first * times + second;
  29.     }
  30. }
  31.  
  32. int abs()
  33. {
  34.     a = fabs(x);
  35.     return a;
  36. }
  37.  
  38. int subtract()
  39. {
  40.     a = x - y;
  41.     return a;
  42. }
  43.  
  44. int add()
  45. {
  46.     a = x + y;
  47.     return a;
  48. }
  49.  
  50. int divide()
  51. {
  52.     a = x / y;
  53.     return a;
  54. }
  55.  
  56. int multiply()
  57. {
  58.     a = x * y;
  59.     return a;
  60. }
  61.  
  62. int power()
  63. {
  64.     a = pow(x, y);
  65.     return a;
  66. }
  67.  
  68. unsigned long long factorial(double f) //Loops Until int f = 1
  69. {                                   //Limit Is 64 Factorial
  70.     if (f < 0)
  71.     {
  72.         std::cout << '\n' << "Cannot Accept A Negative Or Decimal Factorial" << '\n' << std::endl;
  73.         return a = 0;
  74.     }
  75.     if (f > 20) //Only Accurate Up To 20 Factorial
  76.     {
  77.         std::cout << '\n' << "Factorial Too Big!" << '\n' << std::endl;
  78.         return a = 0;
  79.     }
  80.     if (f == 1) return a = 1;
  81.     if (f == 0) return a = 1;
  82.     else return a = f * factorial(f - 1);
  83.  
  84. }
  85.  
  86. int main()
  87. {
  88.     std::cout << "Press / To Exit." << '\n'
  89.         << "Symbols: (+)  (-)  (/)  (* (or) x)  (!)  (^)  (% (Remainder))  (s (User-Choosen Root))  (f (Absolute Value))"
  90.         << '\n' << "Use 'a' To Symbolize Previous Value." << '\n' << "----------------------------------------" << '\n';
  91.  
  92. Equation:
  93.     std::cout << "Type In Equation: ";
  94.  
  95.     std::string i;
  96.     std::string o;
  97.     std::string u;
  98.     std::string b;
  99.     char e;
  100.     char q;
  101.     char f;
  102.  
  103.     std::cin >> e;
  104.  
  105.     if (e == '/') // Entering "/" Stops Program
  106.     {
  107.         std::cout << '\n';
  108.         return 0;
  109.     }
  110.  
  111.     if (e == 'f')
  112.     {
  113.         char check;
  114.         std::cin >> check;
  115.         if (check == 'a')
  116.         {
  117.             x = a;
  118.         }
  119.         else
  120.         {
  121.             std::cin.putback(check);
  122.             std::cin >> x;
  123.         }
  124.         if (std::cin.fail())
  125.         {
  126.             std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  127.             std::cin.clear();
  128.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  129.             goto Equation;
  130.         }
  131.         else
  132.         {
  133.             abs();
  134.             std::cout << "The Absolute Value Of " << x << " Is " << a << '\n' << '\n';
  135.             std::cin.clear();
  136.             std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  137.             goto Equation;
  138.         }
  139.     }
  140.  
  141.     i = std::cin.peek();
  142.  
  143.     if (i.find('\n') != std::string::npos)
  144.     {
  145.         if (e == 'a')
  146.         {
  147.             std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << '\n' << std::endl;
  148.         }
  149.         else
  150.         {
  151.             int j;
  152.             std::cin.putback(e);
  153.             std::cin >> j;
  154.             if (std::cin.fail())
  155.             {
  156.                 std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  157.                 std::cin.clear();
  158.                 std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  159.                 goto Equation;
  160.             }
  161.             std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << j << '\n' << std::endl;
  162.             a = j;
  163.         }
  164.         std::cin.clear();
  165.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  166.         goto Equation;
  167.     }
  168.  
  169.     std::cin >> q;
  170.  
  171.     if ((((e == 'a') || (e == 'A')) && ((q != 'a') && (q != 'A') && (q != '+') && (q != '!') && (q != '-') && (q != '^') && (q != '*') && (q != 'x') && (q != '/') && (q != '%'))))
  172.     {
  173.         std::cout << '\n' << "Not A Valid Operation." << '\n' << std::endl;
  174.         std::cin.clear();
  175.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  176.         goto Equation;
  177.     }
  178.     if (((e == 'a') && (q == 'a')) || ((e == 'A') && (q == 'A') || ((e == 'a') && (q == 'A')) || ((e == 'A') && (q == 'a'))))
  179.     {
  180.         std::cout << '\n' << "Not Valid!" << '\n' << std::endl;
  181.         std::cin.clear();
  182.         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  183.         goto Equation;
  184.     }
  185.     if (((e == 'a') || (e == 'A')) && ((q == 'a')|| (q == 'A')))
  186.     {
  187.         std::cout << '\n' << "Not A Valid Operation." << '\n' << std::endl;
  188.         std::cin.clear();
  189.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  190.         goto Equation;
  191.     }
  192.     if ((e != 's') && (e != 'S') && (q == 'a' || q == 'A'))
  193.     {
  194.         std::cout << '\n' << "Not A Valid Operation." << '\n' << std::endl;
  195.         std::cin.clear();
  196.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  197.         goto Equation;
  198.     }
  199.     if (q == '!') { goto Ifs; }
  200.     if (e == 's') { goto Ifs; }
  201.     if (e == 'S') { goto Ifs; }
  202.  
  203.     i = std::cin.peek();
  204.  
  205.     if (((q != 'a') && (q != 'A') && (q != '+') && (q != '!') && (q != '-') && (q != '^') && (q != '*') && (q != 'x') && (q != '/') && (q != '%')))
  206.     {
  207.         if (i.find('\n') != std::string::npos)
  208.         {
  209.             int pow = static_cast<double>(e - '0');
  210.             if (std::cin.fail())
  211.             {
  212.                 std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  213.                 std::cin.clear();
  214.                 std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  215.                 goto Equation;
  216.             }
  217.             int cat = static_cast<double>(q - '0');
  218.             if (std::cin.fail())
  219.             {
  220.                 std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  221.                 std::cin.clear();
  222.                 std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  223.                 goto Equation;
  224.             }
  225.             else
  226.             {
  227.                 if (e == '-')
  228.                 {
  229.                     int kop;
  230.                     std::cin.putback(q);
  231.                     std::cin >> kop;
  232.                     if (std::cin.fail())
  233.                     {
  234.                         std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  235.                         std::cin.clear();
  236.                         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  237.                         goto Equation;
  238.                     }
  239.                     if (static_cast<double>(q - '0') == 0)
  240.                     {
  241.                         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << static_cast<double>(q - '0') << '\n' << std::endl;
  242.                     }
  243.                     else
  244.                     {
  245.                         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << "-" << static_cast<double>(q - '0') << '\n' << std::endl;
  246.                     }
  247.  
  248.                     a = -static_cast<double>(q - '0');
  249.  
  250.                     std::cin.clear();
  251.                     std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  252.                     goto Equation;
  253.  
  254.                 }
  255.                 if (e == '+')
  256.                 {
  257.                     int kop;
  258.                     std::cin.putback(q);
  259.                     std::cin >> kop;
  260.                     if (std::cin.fail())
  261.                     {
  262.                         std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  263.                         std::cin.clear();
  264.                         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  265.                         goto Equation;
  266.                     }
  267.                     std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << static_cast<double>(q - '0') << '\n' << std::endl;
  268.  
  269.                     a = static_cast<double>(q - '0');
  270.  
  271.                     std::cin.clear();
  272.                     std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  273.                     goto Equation;
  274.  
  275.                 }
  276.                 int kop;
  277.                 std::cin.putback(e);
  278.                 std::cin >> kop;
  279.                 if (std::cin.fail())
  280.                 {
  281.                     std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  282.                     std::cin.clear();
  283.                     std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Buffer
  284.                     goto Equation;
  285.                 }
  286.                 std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << static_cast<double>(e - '0')
  287.                     << static_cast<double>(q - '0') << '\n' << std::endl;
  288.  
  289.                 a = combine(static_cast<double>(e - '0'), static_cast<double>(q - '0'));
  290.  
  291.                 std::cin.clear();
  292.                 std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  293.                 goto Equation;
  294.             }
  295.         }
  296.     }
  297.  
  298.     i = std::cin.peek();
  299.     if (((e == 'a') || (e == 'A')) && ((q == 'a') || (q == '+') || (q == '!') || (q == '-') || (q == '^') || (q == '*') || (q == 'x') || (q == '/') || (q == '%')) && (i.find('\n') != std::string::npos))
  300.     {
  301.         std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  302.         std::cin.clear();
  303.         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  304.         goto Equation;
  305.     }
  306.  
  307.     std::cin >> f;
  308.  
  309. Ifs:
  310.    
  311.  
  312.     if (e == 'a') // Input "a" Will Give You You're Previous Answer To Work With
  313.     {
  314.         x = a;
  315.    
  316.         if (f == 'a') // Input "a" Will Give You You're Previous Answer To Work With
  317.         {
  318.             y = a;
  319.  
  320.             std::cin.putback(q);
  321.             std::cin >> z;
  322.  
  323.             goto Operation; // Since Already Got "x", "z", and "y" value
  324.  
  325.         }
  326.         if (f == 'A') // Input "A" Will Give You You're Previous Answer To Work With
  327.         {
  328.             y = a;
  329.  
  330.             std::cin.putback(q);
  331.             std::cin >> z;
  332.  
  333.             goto Operation;
  334.         }
  335.         std::cin.putback(f);
  336.         std::cin.putback(q);
  337.         std::cin.putback(e);
  338.         std::cin.ignore(10, 'a');
  339.         goto Op; // Since We Already Got Our "x" Value
  340.     }
  341.     if (e == 'A') // Input "a" Will Give You You're Previous Answer To Work With
  342.     {
  343.         x = a;
  344.  
  345.         if (f == 'a') // Input "a" Will Give You You're Previous Answer To Work With
  346.         {
  347.             y = a;
  348.  
  349.             std::cin.putback(q);
  350.             std::cin >> z;
  351.  
  352.             goto Operation; // Since Already Got "x", "z", and "y" value
  353.  
  354.         }
  355.         if (f == 'A') // Input "A" Will Give You You're Previous Answer To Work With
  356.         {
  357.             y = a;
  358.  
  359.             std::cin.putback(q);
  360.             std::cin >> z;
  361.  
  362.             goto Operation;
  363.         }
  364.         std::cin.putback(f);
  365.         std::cin.putback(q);
  366.         std::cin.putback(e);
  367.         std::cin.ignore(10, 'A');
  368.         goto Op; // Since We Already Got Our "x" Value
  369.     }
  370.     if (e == 's')
  371.     {
  372.         if (q == 'a') { goto Wow; }
  373.         if (q == 'A') { goto Wow; }
  374.         if (q == '-')
  375.         {
  376.             std::cout << '\n' << "Can't Have A Negative Root!" << '\n' << std::endl;
  377.             std::cin.clear();
  378.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  379.             goto Equation;
  380.         }
  381.  
  382.         z = 's';
  383.  
  384.         std::cin.putback(q);
  385.         std::cin.putback(e);
  386.         std::cin.ignore(10, 's');
  387.         std::cin >> x;
  388.         if (std::cin.fail())
  389.         {
  390.             std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  391.             std::cin.clear();
  392.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  393.             goto Equation;
  394.         }
  395.         std::cout << "Calculate " << x << " To The Root Of: ";
  396.         char test;
  397.         std::cin >> test;
  398.         if (test == 'a' || test == 'A')
  399.         {
  400.             y = a;
  401.         }
  402.         else
  403.         {
  404.             std::cin.putback(test);
  405.             std::cin >> y;
  406.         }
  407.  
  408.         if (std::cin.fail())
  409.         {
  410.             std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  411.             std::cin.clear();
  412.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  413.             goto Equation;
  414.         }
  415.         goto Operation;
  416.     }
  417.     if (e == 'S')
  418.     {
  419.         if (q == 'a') { goto Wow; }
  420.         if (q == 'A') { goto Wow; }
  421.         if (q == '-')
  422.         {
  423.             std::cout << '\n' << "Can't Have A Negative Root!" << '\n' << std::endl;
  424.             std::cin.clear();
  425.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  426.             goto Equation;
  427.         }
  428.  
  429.         z = 's';
  430.  
  431.         std::cin.putback(f);
  432.         std::cin.putback(q);
  433.         std::cin.putback(e);
  434.         std::cin.ignore(10, 'S');
  435.         std::cin >> x;
  436.         if (std::cin.fail())
  437.         {
  438.             std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  439.             std::cin.clear();
  440.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  441.             goto Equation;
  442.         }
  443.         goto Operation;
  444.     }
  445.     if (f == 'a') // Input "a" Will Give You You're Previous Answer To Work With
  446.     {
  447.         if ((q != 'a') && (q != 'A') && (q != '+') && (q != '!') && (q != '-') && (q != '^') && (q != '*') && (q != 'x') && (q != '/') && (q != '%'))
  448.         {
  449.             std::cout << '\n' << "Not Valid!" << '\n' << std::endl;
  450.             std::cin.clear();
  451.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  452.             goto Equation;
  453.         }
  454.  
  455.         y = a;
  456.        
  457.         std::cin.putback(q);
  458.         std::cin.putback(e);
  459.         std::cin >> x;
  460.         std::cin >> z;
  461.         goto Operation;
  462.        
  463.     }
  464.     if (f == 'A') // Input "A" Will Give You You're Previous Answer To Work With
  465.     {
  466.         if ((q != 'a') && (q != 'A') && (q != '+') && (q != '!') && (q != '-') && (q != '^') && (q != '*') && (q != 'x') && (q != '/') && (q != '%'))
  467.         {
  468.             std::cout << '\n' << "Not Valid!" << '\n' << std::endl;
  469.             std::cin.clear();
  470.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  471.             goto Equation;
  472.         }
  473.  
  474.         y = a;
  475.  
  476.         std::cin.putback(q);
  477.         std::cin.putback(e);
  478.         std::cin >> x;
  479.         std::cin >> z;
  480.         goto Operation;
  481.     }
  482.     if (e == '<')
  483.     {
  484.         Wow:
  485.         z = 's';
  486.         x = a;
  487.         std::cout << "Calculate " << x << " To The Root Of: ";
  488.         char test;
  489.         std::cin >> test;
  490.         if (test == 'a' || test == 'A')
  491.         {
  492.             y = a;
  493.         }
  494.         else
  495.         {
  496.             std::cin.putback(test);
  497.             std::cin >> y;
  498.         }
  499.  
  500.         if (std::cin.fail())
  501.         {
  502.             std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  503.             std::cin.clear();
  504.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  505.             goto Equation;
  506.         }
  507.  
  508.         goto Operation;
  509.     }
  510.  
  511.         std::cin.putback(f);
  512.         std::cin.putback(q);
  513.         std::cin.putback(e);
  514.        
  515.  
  516.     std::cin >> x;
  517.  
  518.     i = std::cin.peek();
  519.  
  520.     if (i.find('\n') != std::string::npos)
  521.     {
  522.  
  523.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << x << '\n' << std::endl;
  524.  
  525.         a = x;
  526.  
  527.         std::cin.clear();
  528.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  529.         goto Equation;
  530.     }
  531.  
  532.     if (std::cin.fail())
  533.     {
  534.         std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  535.         std::cin.clear();
  536.         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  537.         goto Equation;
  538.     }
  539.    
  540.     Op:
  541.     std::cin >> z;
  542.     if (z == 'a' || z == 'A')
  543.     {
  544.         std::cout << '\n' << "Not A Valid Operation." << '\n' << std::endl;
  545.         std::cin.clear();
  546.         std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  547.         goto Equation;
  548.     }
  549.     if (z == '!') // To Skip Getting A "y" Value For Factorials
  550.     {
  551.         goto Operation;
  552.     }
  553.     if (z == 's')
  554.     {
  555.         goto Operation;
  556.     }
  557.    
  558.     u = std::cin.peek();
  559.  
  560.     if (u.find(' ') != std::string::npos)
  561.     {
  562.         std::cin.ignore(std::numeric_limits<int>::max(), ' ');
  563.     }
  564.  
  565.     o = std::cin.peek();
  566.  
  567.     if ((o.find('a') != std::string::npos) || (o.find('A') != std::string::npos))
  568.      {
  569.          y = a;
  570.          goto Operation;
  571.      }
  572.  
  573.     std::cin >> y;
  574.  
  575.     if (std::cin.fail())
  576.     {
  577.         std::cout << '\n' << "Not A Number" << '\n' << std::endl;
  578.         std::cin.clear();
  579.         std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  580.         goto Equation;
  581.     }
  582.  
  583.    
  584. Operation:
  585.     switch (z)
  586.     {
  587.     case '-':
  588.         subtract();
  589.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << std::endl;
  590.         break;
  591.     case '+':
  592.         add();
  593.         std::cout << '\n' << "The Sum Is: " << std::setprecision(7) << a << std::endl;
  594.         break;
  595.     case '/':
  596.         if (y == 0)
  597.         {
  598.             std::cout << '\n' << "Not Possible" << std::endl;
  599.             break;
  600.         }
  601.         divide();
  602.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << std::endl;
  603.         break;
  604.     case '*':
  605.         multiply();
  606.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << std::endl;
  607.         break;
  608.     case 'x':
  609.         multiply();
  610.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << std::endl;
  611.         break;
  612.     case '^':
  613.         power();
  614.         std::cout << '\n' << "The Answer Is: " << std::setprecision(7) << a << std::endl;
  615.         break;
  616.     case '%':
  617.         if (y == 0)
  618.         {
  619.             std::cout << '\n' << "Can't Divide By Zero !" << std::endl;
  620.             break;
  621.         }
  622.         if ((x < y) && (x > 0))
  623.         {
  624.             std::cout << '\n' << "Not Applicable" << std::endl;
  625.             break;
  626.         }
  627.         else
  628.         {   // Won't Work If Not Placed Here. Can't Perform % With Anything But Integers.
  629.             int b = x;
  630.             int c = y;
  631.             a = b % c;
  632.             std::cout << '\n' << "The Remainder is: " << a << std::endl;
  633.             break;
  634.         }
  635.         break;
  636.     case '!':
  637.     {
  638.         factorial(x);
  639.         if (a == 0)
  640.         {
  641.             break;
  642.         }
  643.         std::cout << '\n' << "The Factorial Is: " << a << std::endl;
  644.         break;
  645.     }
  646.     case 's':
  647.     {
  648.         if (x < 0)
  649.         {
  650.             std::cout << '\n' << "Can't Have A Negative Root!" << std::endl;
  651.             break;
  652.         }
  653.         if (y < 0)
  654.         {
  655.             std::cout << '\n' << "Only Input A Positive Number!" << '\n' << std::endl;
  656.             std::cin.clear();
  657.             std::cin.ignore(std::numeric_limits<int>::max(), '\n'); // Used When Code Returns To Equation To Clear Cin Errors/Clear Cin Values
  658.             goto Equation;
  659.         }
  660.         a = pow(x, (1.0 / y));
  661.         if (y == 2)
  662.         {
  663.             std::cout << '\n' << "The SquareRoot Of " << x << " Is: " << a << std::endl;
  664.             break;
  665.         }
  666.         if (y == 3)
  667.         {
  668.             std::cout << '\n' << "The CubeRoot Of " << x << " Is: " << a << std::endl;
  669.             break;
  670.         }
  671.         std::cout << '\n' << "The " << y << " Root Of " << x << " Is: " << a << std::endl;
  672.         break;
  673.     }
  674.     default:
  675.         std::cout << '\n' << "Unknown Operation: '" << z << "'" << '\n' << '\n';
  676.     }
  677.  
  678.     std::cin.clear();
  679.     std::cin.ignore(std::numeric_limits<int>::max(), '\n');
  680.    
  681.     std::cout << '\n';
  682.  
  683.     goto Equation;
  684.  
  685.     return 0;
  686. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement