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
Post a Comment