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;
}
}
所以我从主菜单&#34;中调用此菜单。但在我输入类似&#34;添加彼得123&#34;它的功能然后返回到&#34;主菜单&#34;这是我不想要的。它应该回到
cout << "PH> ";
所以我可以继续做手术。
答案 0 :(得分:0)
循环不在cout/input/determine/do something
逻辑附近。它只在determine/do something
附近。将while
移至cout
之前,看看会发生什么。
请务必将答案标记为最有帮助的答案。