早些时候我发布了一个关于cin跳过输入的问题,我得到了刷新和使用的结果istringstream,但现在我尝试了所有可能的解决方案,但它们都没有工作.
这是我的代码:
void createNewCustomer () {
string name, address;
cout << "Creating a new customer..." << endl;
cout << "Enter the customer's name: "; getline(cin, name);
cout << "Enter the customer's address: "; getline(cin, address);
Customer c(name, address, 0);
CustomerDB::addCustomer(c);
cout << endl;
}
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的东西,跳过输入,当它确实需要输入时,它需要它们并且名称中的存储空白,并且在地址中它采用我在名称中写的但是从第二个字母到结尾
我的代码出了什么问题?
我尝试了cin.ignore(),cin.get()和cin.clear()所有的人一起,独自一人,没有一次成功
编辑:
main.cpp中的main方法mainMenu()只调用
void mainMenu () {
char choice;
do {
system("cls");
mainMenuDisplay();
cin >> choice;
system("cls");
switch (choice) {
case '1': …Run Code Online (Sandbox Code Playgroud) 我想逐个得到一串数字,所以我使用一个while循环cin.get()作为逐个获取我的数字的函数.
但cin.get()得到数字为chars,即使我正在尝试使用转换我不能让我的变量包含数字值而不是我得到的数字的ascii值作为输入.