gpt4 book ai didi

c++ - 如何收集多个字符串并将它们输入到数组中

转载 作者:太空宇宙 更新时间:2023-11-04 13:10:28 25 4
gpt4 key购买 nike

在 C++ 中,我是否可以做一个循环,要求用户输入信息,然后循环询问他们是否愿意继续添加信息,直到他们不这样做为止。并将他们输入的值存储到数组的不同部分?

我一直在尝试使用 while 循环,但发生的事情是它会提示他们是否要添加信息,他们选择是,他们添加它,如果否,它会将他们输入的内容放入终端,但如果我这样做是的两次,我只是覆盖第一个值,有什么办法可以纠正这个问题吗?我对编程很陌生,希望得到任何帮助,谢谢。 (我所拥有的只是一个模板,我知道它为什么不起作用,我也遗漏了预处理器指令

#include <iostream>
#include <string>
using namespace std;

int main()

{

string add;

string name [100];

while (true)
{
cout <<"Would you like to add a name? Yes or No? \n";
getline(cin, add);
if (add == "yes" or add == "Yes")
{
cout<<"Enter a name\n";
getline(cin, name);
}
else if( add == "no" or add == "No")
{break;}
else
{
cout <<"sorry, that is not a valid response"<<endl<<endl;
}
}
cout<<name;
return 0;
}

我认为尝试使用指针可能会奏效,但它们一直让我感到困惑哈哈。非常感谢任何帮助或建议,谢谢。

最佳答案

使用 std::vector 可以让你的生活更轻松。看一段代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
string add;
string name;
vector<string> names;

while (true)
{
cout <<"Would you like to add a name? Yes or No? \n";
getline(cin, add);

if (add == "yes" or add == "Yes")
{
cout<<"Enter a name\n";
getline(cin, name);
names.push_back(name);
}
else if( add == "no" or add == "No")
{
break;
}
else
{
cout <<"sorry, that is not a valid response"<<endl <<endl;
}
}

// printing contents
for(auto n:names)
cout << *n <<endl;
return 0;
}

关于c++ - 如何收集多个字符串并将它们输入到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40231255/

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