I want to have a menu display that accepts user input. However, I want the user to be able to go back to the beginning of the menu to reselect options.
while(end != 1) {
display menu options
prompt user for input
if(input == x) {
do this
}
else
do that
}
then, i want it to skip back up to the beginning of the loop and ask the question over again. Howcan I do this without creating an infinite loop of the menu printing across the screen?
Unfortunately you didn’t really show the code you are using but rather some pseudo code. Thus, it is hard to tell what you are actually trying to do. From the description of your problem and your pseudo code I suspect, however, that the root of the problem is that you don’t check your inputs and don’t restore the stream to a reasonably good state! To read the menu selection you probably want to use code akin to this:
This is just a rough layout of how the input would basically look like. It would probably be encapsulated into a function (in which case you’d want to bail out of from a closed input somewhat differently, possibly using an exception or a special return value). The main part of his is to
std::isteam::clear()std::getline()with astd::string; you could also juststd::istream::ignore()the remainder of the lineThere may be other problems with your menu but without seeing concrete code I’d think it is hard to tell what the concrete problems are.