Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Педын
0 / 0 / 0
Регистрация: 13.09.2009
Сообщений: 4
#1

Остановка после cin - C++

08.02.2013, 04:42. Просмотров 696. Ответов 6
Метки нет (Все метки)

здравствуйте, начал изучение C++, скачал visual С++ 2010 и сразу же столкнулся с проблемой. заключается она в том что есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main()
{
    int i;
    int j;
    cin >> j;
    i = 10;
    cout << i;
    cin.get();
}
после наборы с клавиатуры и нажатии на enter программа завершается, при комментировании строки с cin все нормально работает, без понятия что не так и ответа нигде найти не могу(

в разделе построение выдаются такие сообщения:
1>------ Построение начато: проект: proj, Конфигурация: Debug Win32 ------
1> pr.cpp
1> LINK : не найден или не выполнена сборка c:\users\peter\documents\visual studio 2010\Projects\proj\Debug\proj.exe при последней инкрементной компоновке; выполняется полная компоновка
1> proj.vcxproj -> c:\users\peter\documents\visual studio 2010\Projects\proj\Debug\proj.exe
========== Построение: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========

заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2013, 04:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Остановка после cin (C++):

Для чего в код вводится cin.ignore после того, как cin>> уже сработало? - C++
Доброго времени суток! Просматриваю простой код. Вводится строка типа string: фунты и дюймы Затем значения переводится в типы int и...

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

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

После cin неработает gets - C++
Токо начало проги но суть не в етом. #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cmath&gt; using namespace std; int main () ...

цикл после cin - C++
вешается простая программа. если убрать for - работает если убрать ввод cin - работает вместе не хотят ((( #include &lt;stdio.h&gt; ...

Перенос строки после cin - C++
Здравствуйте. При использовании cin &gt;&gt; ... происходит автоматическое перемещение на следующую строку. Как этот избежать и остаться...

6
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
08.02.2013, 05:21 #2
Цитата Сообщение от Педын Посмотреть сообщение
без понятия что не так и ответа нигде найти не могу(
После ввода в потоке остается символ конца строки, его cin.get() и считывает.
Поставьте еще один cin.get(), чтобы задержать консоль.
1
Педын
0 / 0 / 0
Регистрация: 13.09.2009
Сообщений: 4
08.02.2013, 05:49  [ТС] #3
спасибо, второй cin.get() помог=) жаль правда чтобы задержать консоль нужно два раза его писать, ну да ладно, пока хватит и этого)
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
08.02.2013, 06:34 #4
ну тогда сделайте себе макрос, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#define STOPCONSOLE std::cin.get();std::cin.get()
using namespace std;
 
int main()
{
    int i;
    int j;
    cin >> j;
    i = 10;
    cout << i;
    STOPCONSOLE;
}
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
08.02.2013, 16:00 #5
Цитата Сообщение от Croessmah Посмотреть сообщение
ну тогда сделайте себе макрос, например:
system("pause"); уже не катит?

Добавлено через 30 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
После ввода в потоке остается символ конца строки, его cin.get() и считывает.
А если в буфере еще что-нибудь будет. Его чистить надо.

Добавлено через 12 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
#define STOPCONSOLE std::cin.get();std::cin.get()
Корявый вариант
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
08.02.2013, 16:17 #6
Ctrl+F5
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
08.02.2013, 16:22 #7
Цитата Сообщение от go Посмотреть сообщение
system("pause"); уже не катит?
ИМХО,

Цитата Сообщение от go Посмотреть сообщение
А если в буфере еще что-нибудь будет. Его чистить надо.
Цитата Сообщение от go Посмотреть сообщение
Корявый вариант
для данного случая пойдет
0
08.02.2013, 16:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 16:22
Привет! Вот еще темы с ответами:

Стрелки после cout и cin - C++
Здравствуйте! Недавно начал изучать язык С++, и решил попробовать написать чёнить. Решил сделать программу ищущую разницу между чисел ...

cin остаток после ввода - C++
int b1=0; int b2=0; cout&lt;&lt;&quot;Введите b1 и b2: &quot;; cin&gt;&gt;b1&gt;&gt;b2; Вопрос такой, если мы введем: 1 2 3, то считается 1 и 2, но как...

Не очищается поток после cin.clear() - C++
Собственно есть программа записывающая данные в файл и считывающая их оттудова со всеми сопутствующими функциями (новая запись, обновление...

Значения (векторов) устарели после cin >> int - C++
Подскажите, пожалуйста, в чем ошибка. Проблема в том, что после ввода cin &gt;&gt; guess значения обоих векторов становятся &quot;недоступными&quot; и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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