Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
#1

Не работает cin - C++

25.09.2013, 21:21. Просмотров 484. Ответов 3
Метки нет (Все метки)

Здравствуйте. Плюсы только начал учить, так что просьба тухлыми яйцами не кидаться
Делаю программу по заполнению дерева узлами, его вывод и удаление дерева. Вот функция main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct Node {
    char name[10];
    Node *left, *right; 
};
void main() {
    Node *Tree=NULL;
    char x, ch;
    cout << "Enter your choice: \n 1 - Add new Node in the tree \n 2 - Print current tree \n 3 - Delete current tree" << endl;
    begin: ch = getch();
    switch(ch) {
        case '1': cout << "Enter the word. Max size 10" << endl; cin >> x; AddNode(&x, Tree); break;
        case '2': PrintTree(Tree); break;
        case '3': DelTree(Tree); break; 
    };
    goto begin;
}
То есть как видно из кода я предоставляю пользователю выбор действия. При нажатии "1" пользователь добавляет новый узел в дерево, но перед этим он должен ввести значение, которым этот узел заполнится, после чего передается в функцию добавления узла, но не об этом.
Если я выберу действие добавления нового узла и введу значение этого добавляемого узла, и хочу снова добавить новый узел, то уже теперь я не могу ввести значение. То есть сообщение "Enter the word. Max size 10" выводится, но программа мертва к вводу чего-либо, но реагирует на кнопки "1", "2", "3". Кто подскажет в чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 21:21     Не работает cin
Посмотрите здесь:

Функция cin.get(array, 80) работает в одной программе, но не работает в другой - C++
Добрый день. Я что то совсем запутался, одна и та же функция в одной программе работает, а в другой нет. В этой программе...

не работает Cin - C++
#include &lt;iostream&gt; using namespace std; class Deposit{ private: string...

Не работает cin - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; int main() { ...

Не работает 3й cin - C++
раз на раз вылезают исключения, не работает ввод cin порой,главное не весь ,а только последний, обычно,при волшебном изменении порядка...

Не работает cin - C++
Вообщем дело такое, сделал x,y рандом, после они выводятся, я должен их ввести, если совпали попал, но cin не работает, как будто его и...

Cin.get не правильно работает - C++
насколько я понимаю cin.get() в таком использовании (без параметров и т.п.) должен возвращать код первой нажатой клавиши, а у меня при...

Как работает cin.get() - C++
Решил посмотреть как работает cin.get(). Тупо тянет символы из буфера. В конструкторе не нашёл &quot;привязки буфера к stdin&quot; или вызовов...

Cin.clear() не работает? - C++
Почему cin.clear() не работает как надо? ( не очищает поток ). Если мы вводим например 3 значения (123) то цикл срабатывает 3 раза. while...

как работает cin.good() - C++
Здравствуйте. Мне необходимо организовать &quot;защиту от дурака&quot;. Пользователь должен ввести целое число. Моя программа должна считывать...

Не работает cin.getline(buf, 20); - C++
Товарищи подскажите почему не работает cin.getline(buf, 20);? Проблема в том что я хочу ограничить ввод до 20 символов но оно не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
25.09.2013, 21:59     Не работает cin #2
x - это только один символ.
C++
1
2
3
4
5
6
7
#include <string>
...
std::string x;
...
std::getline( std::cin, x );
AddNode(x.c_str(), Tree);
...
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
26.09.2013, 01:53  [ТС]     Не работает cin #3
Спасибо за ответ, но можно всё-таки в приложенной структуры? У меня по заданию вводимое значение массив из 10 символов.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 01:59     Не работает cin #4
C++
1
2
char x[10];
cin.getline(x, 10);
Yandex
Объявления
26.09.2013, 01:59     Не работает cin
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru