Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2014, 20:03   #11
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А теперь введите имя, букв на 40...
Ты знаешь людей с именем в 40 букв? ))

Дело не в этом.
Просто подскажите мне, если знаете как правильно сделать.
marenko.lilia вне форума Ответить с цитированием
Старый 23.09.2014, 20:17   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ты знаешь людей с именем в 40 букв? ))
Али Ибн Сабиб Ибн Махмуд Ибн Азураджан Ибн...
Не?
Цитата:
Просто подскажите мне, если знаете как правильно сделать.
Попробуй scanf() меня лично он ни разу не подводил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2014, 20:22   #13
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Али Ибн Сабиб Ибн Махмуд Ибн Азураджан Ибн...
Не?
.

Все - сдаюсь. Вы все умнее меня...

Но ответ 100-процентный так и не получила
marenko.lilia вне форума Ответить с цитированием
Старый 23.09.2014, 20:24   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Попробуй scanf() меня лично он ни разу не подводил.
Да дело не в этом, а в этом:
Код:

struct Person
{
	char name[32]; // <-----
	int age;
};
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.09.2014, 20:29   #15
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

мне все равно не понятно.
Даже если там не массив а указатель - это ничего не меняет.
marenko.lilia вне форума Ответить с цитированием
Старый 23.09.2014, 20:35   #16
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,089
По умолчанию

Код:
cin >> P[i].age;
cin.ignore();
после cin >> в потоке остаётся символ \n, который на следующей итерации цикла автоматом попадает в имя. Чтобы этого безобразия не было, игнорим всё, что находится в буфере, соответственно на getline в буфере ничего не будет и будет запрос с клавиатуры.
pu4koff вне форума Ответить с цитированием
Старый 23.09.2014, 21:08   #17
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Код:
cin >> P[i].age;
cin.ignore();
после cin >> в потоке остаётся символ \n, который на следующей итерации цикла автоматом попадает в имя. Чтобы этого безобразия не было, игнорим всё, что находится в буфере, соответственно на getline в буфере ничего не будет и будет запрос с клавиатуры.

Да - то что надо! Спасибо!
marenko.lilia вне форума Ответить с цитированием
Старый 23.09.2014, 21:50   #18
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,371
По умолчанию

Надо использовать либо std::string либо методы чтения, которые принимают размер буфера в качестве аргумента.
waleri вне форума Ответить с цитированием
Старый 23.09.2014, 22:03   #19
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Надо использовать либо std::string либо методы чтения, которые принимают размер буфера в качестве аргумента.
Либо тупо выделить статический буфер в пару килобайт, а после ввода копировать из него до первого нуля.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.09.2014, 22:13   #20
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

всем спасибо!
marenko.lilia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести массив с клавиатуры. В полученном массиве найти минимальный элемент. Вывести его на экран ok57 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.05.2013 05:07
Ввести последовательность символов [ Senya Black ] Помощь студентам 1 08.05.2012 19:11
Ввести строку длиной до 30 символов istavzev Помощь студентам 0 03.05.2012 12:31
невозможно ввести в поле более 30 символов brutalis БД в Delphi 2 20.10.2011 11:25
Ввести имя файла с клавиатуры,открыть если существует,перименовать и переместить его mulatoschka1990 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 23.10.2009 16:18