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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 91, средняя оценка - 4.78
Morgan-S23
-26 / 3 / 0
Регистрация: 20.03.2011
Сообщений: 102
#1

Почему программа сразу закрывается ? - C++

15.07.2011, 22:07. Просмотров 12587. Ответов 24
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main (void)
{
    int age;
    cout << "Enter you age: ";
    cin >> age;
    if (!(age > 12 && age <65))
    cout << "Halyava!!!!!!!!!";
    else
    cout << "OBLOM! PLATI!";
    return 0;
}
программа, после воода цифры, сразу закрывается! в чем причина ? результат выполнения программы виден 0.00000001 сек! как задержать экран, чтобы результат отображался и программа не закрывалась
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему программа сразу закрывается ? (C++):

Компилируется без ошибок, но командная строка, почему то, сразу же закрывается - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;list&gt; #include &lt;iterator&gt; int main() { ...

Почему при запуске программы консоль (среда Eclipse C++) сразу закрывается? - C++
Привет всем :P Раньше изучал С++ в Visual Studio , теперь в силу смены ПК на ноут( Asus eee pc 701 4g ) перешел на Eclipse C++. Подскажите...

Программа сразу после ввода закрывается - C++
Ввела код { int buf; int a; int n,i; cin &gt;&gt; n; for (int i=0; i&lt;n; i++) { ...

Программа закрывается сразу после отработки - C++
программа готова. Запускаю компилятор. Программа выполнена правильно, но окно сразу же закрывается! Какой код нужно вставить, чтобы окно...

Проблемка (программа сразу закрывается и не выдаёт ответ) - C++
#include &quot;StdAfx.h&quot; #include &quot;iostream&quot; // для cin и cout //#include &quot;conio.h&quot; // для getch #include &quot;cmath&quot; // для выполнения мат....

После выполнения программа сразу закрывается и не даёт увидеть результат - C++
После выполнения программа сразу закрывается и не даёт увидеть результат если не вставить system(&quot;pause&quot;); //Эта программа для сравнения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Evg
Эксперт CАвтор FAQ
17811 / 6017 / 388
Регистрация: 30.03.2009
Сообщений: 16,532
Записей в блоге: 26
16.07.2011, 12:49 #16
Принципиальная разница между getch (и прочими функциями ввода) и зацикливанием в том, что в первом случае программа находится в "спящем" состоянии (т.е. не грузит процессор), а во втором - в работающем (т.е. грузит процессор)
0
easybudda
Модератор
Эксперт CЭксперт С++
9626 / 5574 / 947
Регистрация: 25.07.2009
Сообщений: 10,709
16.07.2011, 13:08 #17
Цитата Сообщение от iama Посмотреть сообщение
на MS VC++ 2010 не пашет
Вот так пашет
C
1
2
3
4
5
6
7
#include <stdio.h>
    
int main(void){
    printf("Find key named \"Anykey\" and push it so hard!\n");
    scanf("%*c");
    return 0;
}
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.07.2011, 13:10 #18
Цитата Сообщение от iama Посмотреть сообщение
diagon, на MS VC++ 2010 не пашет
В данном случае надо cin.ignore() поставить.
0
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
16.07.2011, 19:32 #19
перед
C++
1
return 0;
поставь
C++
1
2
cin.get();
        cin.get();
То бишь

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main (void)
{
    int age;
    cout << "Enter you age: ";
    cin >> age;
    if (!(age > 12 && age <65))
    cout << "Halyava!!!!!!!!!";
    else
    cout << "OBLOM! PLATI!";
cin.get();
cin.get();
    return 0;
 
}
А вобще тут даже заркрепленая тема такая есть

http://www.cyberforum.ru/cpp-beginners/thread10807.html
0
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
16.07.2011, 19:53 #20
parkito,

C++
1
std::cin.get();
срабатывает не всегда, ибо читает из потока лишь один символ; так что лучше
C++
1
std::cin.get();
использовать в комбинации с:

C++
1
std::cin.ignore(std::numeric_limits <std::streamsize>::max(), '\n');
отбрасываем максимальное число символов, которое может содержать поток, до первого перевода строки включительно.

или

C++
1
std::cin.ignore(std::cin.rdbuf()->in_avail());
игнорируем символы, которые хранит буфер чтения потока.

или

C++
1
std::cin.sync();
очищаем поток от имеющихся в нем символов.
0
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
16.07.2011, 19:55 #21
nameless А если есть

C++
1
using namespace std;
Зачем
C++
1
std::
Везде писать ?
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 19:58 #22
parkito, Может быть конфликт имен
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.07.2011, 20:17 #23
Цитата Сообщение от parkito Посмотреть сообщение
nameless А если есть

C++
1
using namespace std;
Зачем
C++
1
std::
Везде писать ?
А зачем писать using namespace std; если можно писать везде std:: ?[/риторический вопрос]
Правда на ваш вопрос ответ есть - это считается дурным тоном =)
Например, вы обзовете переменную min, которая есть в std, и с трудом сможете найти ошибку.
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
16.07.2011, 22:42 #24
Мне интересно, как работает:
C
1
scanf("*");
?
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 22:48 #25
Nursik77, форматированный ввод из потока.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2011, 22:48
Привет! Вот еще темы с ответами:

После выполнения алгоритма программа сразу закрывается - как исправить? - C++
дела такое: (циклический алгоритм, задача с матрицами) программа запускается в Win32 Console Application, но после выполнения алгоритма...

MS Visual Studio 2013 Express при компиляции программа открывается и сразу закрывается - C++
Вот код: #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello&quot; &lt;&lt; ; system(&quot;pause&quot;); return 0; ...

Почему в конце программа сама закрывается? - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; float f(float x,int e) { float S=1,n=1; ...

Почему после ввода переменной программа закрывается? - C++
#include&lt;iostream&gt; using namespace std; int main() { int n, a=10,b, g=1; cin&gt;&gt;n;


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.07.2011, 22:48
Ответ Создать тему
Опции темы

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