使用输入检查将字符串读入数组

时间:2013-12-06 09:31:11

标签: c++

我有一个字符串数组,我们称之为A [maxsize]。

我必须用cin读取内容(我写了一个函数来检查输入的数据是否正确,但它基本上是cin)。但!我不能让用户两次添加相同的数据。

A [0] = G A [1] = G

不可能。

我已经弄清楚我需要2个循环,一个for和一段时间。任何人都可以帮忙吗? 我尝试了几种方法,但是当我被问到第二次输入时我的程序崩溃了......

感谢。

2 个答案:

答案 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;
    }
}