Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26

Не работает cin

25.09.2013, 21:21. Показов 1033. Ответов 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". Кто подскажет в чем проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2013, 21:21
Ответы с готовыми решениями:

Как работает cin.peek, cin,get, cin.ignore, cin.clear?
Здравствуйте, товарищи и не товарищи!:) Я только начал изучать C++, а уже использую вещи, которые мне не понятны, и прошу объяснить, как...

Не работает ни cin.Get(), ни cin.Getline()
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &quot;windows.h&quot; #include &quot;string.h&quot; using namespace::std; const...

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная &quot;защита от дурака&quot; на ввод. Не пойму предназначение cin.get()...

3
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
25.09.2013, 21:59
x - это только один символ.
C++
1
2
3
4
5
6
7
#include <string>
...
std::string x;
...
std::getline( std::cin, x );
AddNode(x.c_str(), Tree);
...
1
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
26.09.2013, 01:53  [ТС]
Спасибо за ответ, но можно всё-таки в приложенной структуры? У меня по заданию вводимое значение массив из 10 символов.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 01:59
C++
1
2
char x[10];
cin.getline(x, 10);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2013, 01:59
Помогаю со студенческими работами здесь

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear()
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

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

Почему не работает cin.clear() и как работает sync()?
#include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*input(char*ch,int&amp;n){ cin.getline(ch,20); //cin.sync(); ...

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru