C++ Switch Statement with While Loop -


i have system user can enter many inputs s/he wants , make calculations.

here main loop achieving task:

int main() {     char op;      while(op != 'x'){         cout << "please select: " << endl;         cout << "1 ---> a" << endl;         cout << "2 ---> b" << endl;         cout << "3 ---> c " << endl;         cout << "4 ---> d " << endl;         cout << "5 ---> calculate" << endl;         cout << "x ---> exit" << endl;          op = std::getchar();          switch(op){         case '1':             cout<<"1";             break;         case '2':             cout<<"2";             break;         case '3':             cout<<"3";             break;         case '4':             cout<<"4";             break;         case '5':             cout<<"5";             break;         case 'x':             return 0;         default:             continue;         }      }     return 0; } 

however, in console have seen cout statements 2 times instead of one. sample console looks this:

please select:  1 ---> 2 ---> b 3 ---> c  4 ---> d  5 ---> calculate x ---> exit 1 1please select:  1 ---> 2 ---> b 3 ---> c  4 ---> d  5 ---> calculate x ---> exit please select:  1 ---> 2 ---> b 3 ---> c  4 ---> d  5 ---> calculate x ---> exit 

any ideas on how display cout statements once after user makes selection?

it looks still have characters in input stream after

    op = std::getchar(); 

add line ignore rest of line input stream.

    op = std::getchar();     int temp;     while ( (temp = std::getchar()) != '\n' && temp != eof ); 

Comments