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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2011, 20:39   #1
NightEagle
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 31
По умолчанию cin.get не вводятся данные

не могу ввести строку через cin.get

вот часть кода:

Код:
#include <iostream>
#include <string.h>

using namespace std;

char **inMasStr(int);
char **inMasStr_cgt(int);

void main (void)
{
	int N, v;
	char pstr[80];
	char** masStr;

	cout<<"1. cin\n2. cin.get\n"; cin>>v;
	cout<<"Введите количество слов: "; cin>>N;
	switch (v)
	{
		case 1:
		{
			masStr = inMasStr(N);
			break;
		}
		case 2:
		{
			masStr = inMasStr_cgt(N);
			break;
		}
	}
	cout<<"Введите подстроку: ";
        cin.get(pstr, sizeof(pstr)); //Банально проскакивает данный участок, не просит ничего ввести. 
        .....................................................
        .....................................................
}
помогите разобраться в чём проблемма
NightEagle вне форума Ответить с цитированием
Старый 01.04.2011, 21:00   #2
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Попробуйте использовать перед вводом
Код:
_flushall();
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 01.04.2011, 21:03   #3
blacktener
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 78
По умолчанию cout << "test";

попробуй привести текст в приличное состояние...
поставь пробелы между cout и << и "text"
blacktener вне форума Ответить с цитированием
Старый 01.04.2011, 21:11   #4
NightEagle
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 31
По умолчанию

как пробелы могут влиять на работу программы???
Сtrl, спасиб большое, помогло...
NightEagle вне форума Ответить с цитированием
Старый 01.04.2011, 21:19   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

в строку после
Код:
	cout<<"1. cin\n2. cin.get\n"; cin>>v;
	cout<<"Введите количество слов: "; cin>>N;
идет нажатый Enter ('\n')

можно еще cin.ignore();

вот простой пример, можете убрать cin.ignore() и посмотреть что выйдет
Код:
	char st1[123];
	char st2[123];
	int i;

	cin.getline(st1,100);
	cin >> i;
	cin.ignore();
	cin.getline(st2,100);

	cout << st1 << '\n';
	cout << st2 << '\n';

	_getch();
onewho вне форума Ответить с цитированием
Старый 01.04.2011, 21:26   #6
NightEagle
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 31
По умолчанию

спасибо, теперь стало понятно почему у меня не было запроса на ввод информации))
NightEagle вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cin и cin.get NightEagle Общие вопросы C/C++ 8 30.03.2011 18:23
С клавиатуры вводятся N чисел sivaeper Помощь студентам 4 30.12.2010 17:15
принадлежит ли число, введённое с клавиатуры отрезку (а;в). Границы отрезка вводятся с клавиатуры Maria, Russia Помощь студентам 3 17.02.2009 22:01
В СТОЛБЕЦ ВВОДЯТСЯ ЧИСЛА ТОЛЬКО ВХОДЯЩИЕ В ОПРЕДЕЛЕННЫЙ ИНТЕРВАЛ. exeexeexe Microsoft Office Excel 8 17.09.2008 10:23