【发布时间】:2020-08-31 07:02:46
【问题描述】:
这是我第一次尝试在 C++ 中使用字符串数组,是的……我被卡住了。
我正在尝试一个让用户输入最大值的小程序。 10 个随机名称。如果用户输入'.'或已输入 10 个 nNames,输入对话框将结束。完成此操作后,所有名称都将被打印出来。
我用向量试过了,但我想我做错了什么......
#include <iostream>
#include <vector>
using namespace std;
int main()
{
char name;
int i, counter;
vector<string> namen_vec;
cout << endl << "Eingabedialog von maximal 10 Namen. " << endl;
cout << "Eingabe kann fruehzeitig mit '.' beendet werden. " << endl;
cout << "--------------------------------------------------" << endl << endl;
counter = 0;
do
{
cout << "Eingabe Name: ";
cin >> name;
namen_vec.push_back(name);
counter++;
} while (name != '.' && counter <= 9);
for (int i = 0; i < namen_vec.size(); i++)
{
cout << namen_vec[i] << endl;
}
return 0;
}
也许有人有一两个建议?
【问题讨论】:
-
char name是单个字符,你想要一个std::string name -
什么您显示的代码“错误”?你期望什么行为?你得到什么行为?请花一些时间刷新the help pages,获取SO tour,阅读How to Ask,以及this question checklist。最后请记住如何edit您的问题。
-
你应该使用 std::string 类型来解决你的问题。