void phonebookmenu() {
phonebook ph;
string str;
cin.ignore();
cout << "PH> ";
getline(cin, str); //Input from user.
string buf; // Have a buffer string.
stringstream ss(str); // Insert the string into a stream.
vector<string> tokens; // Create vector to hold the words.
while (ss >> buf){
tokens.push_back(buf); //Adds all the words inside the vector.
}
while (true){
if (tokens[0] == "add"){
ph.add(tokens[1],tokens[2]);
}
else if(tokens[0] == "lookup"){
ph.lookup(tokens[1]);
}
else if(tokens[0] == "change"){
ph.change(tokens[1],tokens[2]);
}
else if(tokens[0] == "alias"){
ph.alias(tokens[1],tokens[2]);
}
else if(tokens[0] == "quit"){
//Return to the "Main-menu"
}
else{
cout << "Invalid input" << endl;
}
}
Так что я вызываю это меню из «Main-menu», но после ввода чего-то типа «Добавить peter 123» он выполняет функцию, а затем возвращается к «Main -меню ", которого я не хочу. Он должен вернуться кC++ Infinite-loop, Issue with returns
cout << "PH> ";
Так что я могу продолжать выполнять операции.
В чем вопрос? – Drop
Как правильно настроить этот цикл? Он делает это только один раз, затем возвращается в «Главное меню». – Widdin
Вам нужно добавить цикл, если вы хотите, чтобы он был в цикле. – NathanOliver