2013-12-06 6 views
-1

У меня есть строковый массив, который можно назвать A [maxsize].Чтение строк в массив с проверкой ввода

Мне нужно прочитать материал с ним cin (я написал функцию, чтобы проверить, правильно ли введенные данные, но в основном это cin). НО! Я не должен позволять пользователю добавлять одни и те же данные дважды.

А [0] = G А [1] = G

не должно быть возможно.

Я выяснил, что мне нужно 2 петли, за и до. Может ли кто-нибудь помочь в этом? Я пробовал несколько способов, но моя программа разбилась при запросе на второй вход ...

Спасибо.

+1

пожалуйста, напишите код, и сказать, где проблема. – David

+0

Мы не будем писать для вас код. Мы сообщим вам об ошибках, которые вы указали в своем коде. – Oswald

+0

Ничего, я понял. Это похоже на работу: для (я = 0; <п; ++ я) { делать { COUT << "Пожалуйста, дайте" << я << "номер:."; cin >> A [i]; } while (A [i] == A [i-1]); } – realee

ответ

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; 
    } 
} 
+0

Спасибо, почему вы используете std :: before endl, cin и т. Д.? – realee

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. 
    } 
} 
+0

Спасибо, но в классе мы не узнали об этом (я не говорю о функциях), и я должен написать документацию для пользователя также для приложения, поэтому, если я закодирую его таким образом, у меня есть знать, как это работает (вектор и stufF). – realee

Смежные вопросы