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

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

Войти
Регистрация
Восстановить пароль
 
evelolka
2 / 2 / 0
Регистрация: 25.10.2013
Сообщений: 108
#1

Некорректно считывает структуру с cin.getline - C++

20.05.2014, 15:05. Просмотров 208. Ответов 3
Метки нет (Все метки)

вопрос про cin.getline
когда ввожу спомощью cin.getline после 1ого ввода с нажатием "в" пропускается ввод 1 элемента структуры(имя) и сразу вводится фамилия
используя gets_s такой же результат
в чём проблемка , а то не пойму никак


структурка

C++
1
2
3
4
5
6
struct WORKER
   {
       char family[100], name[100], dolzhnost[100] ;
       long int year ;
       WORKER* next;
   };
ввожу

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
while( c == 'в' )
        {
            if ( head != 0 ) 
                { 
                    current -> next = new WORKER ; 
                    current = current -> next ; 
                }
            else     
                { 
                    head = new WORKER ; 
                    current = head ;   
                }
 
            cout<<"\nВведите имя" << endl ;
            cin.getline( current -> name , 100 );
            cout << "Введите фамилию" << endl ;
            cin.getline( current -> family , 100 ) ;
            cout << "Введите должность" << endl ;
            cin.getline( current -> dolzhnost , 100 ) ;
            cout << "Введите год поступления на работу" << endl ;
            cin >> current -> year ;
            schetchik_goda += current -> year ;
            current -> next = 0 ;
            cout << "Ввести данные?(в/н)" << endl ;
            c = _getche();
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 15:05     Некорректно считывает структуру с cin.getline
Посмотрите здесь:

Ввод данных в структуру - cin.getline - C++
Добрый день, Задача загрузить информацию в структуку Songs (автор, имя, год) . Однако когда в цикле for запрашиваю данные, первый...

cin.getline() - C++
Вопрос заключается в следующем, собственно программа отказывается выполнять cin.getline(... , ...); (... - аргументы) в начале своей ...

cin.getline() - C++
Помагите пожалуйсто.Ввести предложение. Вывести так, чтобы в каждой строке было написано одно слово предложения после пробела.с++ 2006...

Cin + cin.getline() - C++
Почему, если после считывание с помощью cin считать строку с помощью cin.getline(), строка считывается только в той же строке где мы...

Некорректная работа cin.getline() - C++
Доброго времени суток,господа знатоки. у меня есть двумерный массив char куда мне нужно записать строки и отсортировать но вот в чем...

Функция getline(cin,slovo) - C++
Программисты! Подскажите, если не трудно, в строке: getline(cin, slovo); Какую роль играет cin ? slovo - это...

cin.getline - параметр int - C++
Доброго времени суток! Подскажите, пожалуйста, в чем дело. Я пытаюсь научиться программировать на C++ по самоучителю. Там написано,...

Не хочет работать cin.getline - C++
cin.getline(comp.processor, 50); Должно работать до энтера (в другом вижуале нормально работает), а в 2015 не работает без трех...

cin.getline() не читает 1 символ - C++
Доброго времени суток :) пишу довольно простой код, но тут появилась проблема. Вот обрезаний кусок кода который не хочет работать...

Вопрос про cin.getline() - C++
char mas; cout&lt;&lt;&quot;Add Age &quot;; cin&gt;&gt;Age; cout&lt;&lt;&quot;Add Name &quot;; cin.getline(mas,20); Name = new char; strcpy(Name,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5137 / 4457 / 1486
Регистрация: 14.04.2014
Сообщений: 17,699
20.05.2014, 19:12     Некорректно считывает структуру с cin.getline #2
Перед cin.getline() делай cin.ignore();
zss
Модератор
Эксперт С++
6289 / 5892 / 1910
Регистрация: 18.12.2011
Сообщений: 15,129
Завершенные тесты: 1
20.05.2014, 19:25     Некорректно считывает структуру с cin.getline #3
Лучше после cin >> current->year; прочитать оставшийся в потоке символ конца строки:
C++
1
(cin>>current->year).get();
palec_vverh
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 3
20.05.2014, 19:38     Некорректно считывает структуру с cin.getline #4
std::cin.clear();
std::cin.sync();
std::cin.getline();

Работает почти всегда.
Yandex
Объявления
20.05.2014, 19:38     Некорректно считывает структуру с cin.getline
Ответ Создать тему
Опции темы

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