gpt4 book ai didi

c++ - 该数组不能两次保存相同的名称,当要添加新字符串时,程序应检查该名称是否已经存在

转载 作者:行者123 更新时间:2023-11-27 23:40:49 24 4
gpt4 key购买 nike

我如何在 C++ 中编写一个 for 循环来使用户不能在数组中写入相同的名称两次?

我已经写好了

for (int i=0; i<5; i++)
{
cout << i+1 <<" : ";
cin >> name[i];

if(name[i] == "empty")
{
cout << "Empty cannot be used";
return 0;
}
}

最佳答案

std::set 是一个合适的 C++ 标准库容器来模拟名称。这是因为它不能包含重复项。为此考虑

std::set<std::string> names; // has the added bonus that names will be sorted
do {
std::string name;
std::cin >> name;
const bool contains = names.find(name) != names.end(); // Is 'name' already there?
if (contains){
// ToDo - issue an error
} else {
names.add(name); // No real need for the 'else' branch, as readding is a no-op.
}
} while (names.size() != 5);

关于c++ - 该数组不能两次保存相同的名称,当要添加新字符串时,程序应检查该名称是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061539/

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