gpt4 book ai didi

c++ - 如果每个 cin 输入多个单词,如何禁止 cin 转发到下一个输入?

转载 作者:行者123 更新时间:2023-11-30 05:42:04 27 4
gpt4 key购买 nike

在这个程序的每次输入中,我希望用户能够输入他们想要的任意数量的“单词”(意思是用空格/制表符分隔的文本)......但是不允许用户输入单词超出当前 cin。例如:如果我键入 John Smith Doe,我希望将 John 放入“名称”中,并丢弃 Smith 和 Doe。然后我想输入“年龄”和“体重”,而 Smith 不会变老,Doe 会变胖。目前,如果我输入 John Doe 作为名字,那么 age 就会变成 Doe。如果我输入 John Smith Doe 作为名字,那么年龄会变成 Smith,体重会变成 Doe。有人可以帮忙吗?

#include <iostream>
#include <string>

using namespace std;

int main(int argc, char *argv[])
{
string name;
string age;
string weight;

//user can enter more than one name (title, first, middle, last, etc.)
cout << "Enter your name: " << endl;
cin >> name;

//if user entered two or more names above,
//disallow cin from putting name two into 'age'
cout << "Enter your age: " << endl;
cin >> age;

//same thing for weight
cout << "Enter your weight: " << endl;
cin >> weight;

cout << "You typed: " << endl;
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Weight: " << weight << "." << endl;

return 0;
}

最佳答案

我觉得你可以用

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

例如在 cin >> name; 之后。

关于c++ - 如果每个 cin 输入多个单词,如何禁止 cin 转发到下一个输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com