I am working on example7-6 from O'Reilly's Practical C++ Programming book. I am finding that I need to enter 'q' twice to quit the program, but the code says to me that I should only need to enter 'q' once. any clues what is going on here? I want the code to be written in a way that I only need to enter 'q' once.
Thank you everybody for your assistance in advance.
-- program output ---
% ./calc3 Result: 0
Enter operator and number: q
q
%
--- snip ----
Code:#include <iostream> int result; // the result of the calculations char oper_char; // operator the user specified int value; // value specified after the operator int main() { result = 0; // initialize the result // loop forever (or until break reached) while (true) { std::cout << "Result: " << result << '\n'; std::cout << "Enter operator and number: "; std::cin >> oper_char >> value; if ((oper_char == 'q') || (oper_char == 'Q')) break; if (oper_char == '+') { result += value; } else if (oper_char == '-') { result -= value; } else if (oper_char == '*') { result *= value; } else if (oper_char == '/') { if (value == 0) { std::cout << "Error:Divide by zero\n"; std::cout << " operation ignored\n"; } else result /= value; } else { std::cout << "Unknown operator " << oper_char << '\n'; } } return (0); }



LinkBack URL
About LinkBacks


