我有一个字符串数组,我们称之为A [maxsize]。
我必须用cin读取内容(我写了一个函数来检查输入的数据是否正确,但它基本上是cin)。但!我不能让用户两次添加相同的数据。
A [0] = G A [1] = G
不可能。
我已经弄清楚我需要2个循环,一个for和一段时间。任何人都可以帮忙吗? 我尝试了几种方法,但是当我被问到第二次输入时我的程序崩溃了......
感谢。
答案 0 :(得分:0)
每次输入新内容时如何验证用户的输入?这可能有助于您入门:
bool isValidUserInput(string s, vector<string> saved) {
for (int i = 0; i < saved.size(); ++i) {
// compare every element in the collection (saved) against your new input (s).
// if duplicate found, return false. Otherwise, return true.
}
}
答案 1 :(得分:0)
没有测试:
const size_t N = 10;
char s[N];
size_t i = 0;
char c;
while ( i < N && std::cout << "Enter a character: " && std::cin >> c )
{
size_t j = 0;
while ( j < i && s[j] != c ) j++;
if ( j == i )
{
s[i] = c;
i++;
}
else
{
std::cout << "Array already contains character " << c << std::endl;
std::cout << "Try again." << std::endl;
}
}