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

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

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

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

15.07.2011, 22:07. Просмотров 12374. Ответов 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 сек! как задержать экран, чтобы результат отображался и программа не закрывалась
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2011, 22:07     Почему программа сразу закрывается ?
Посмотрите здесь:
Компилируется без ошибок, но командная строка, почему то, сразу же закрывается C++
Почему при запуске программы консоль (среда Eclipse C++) сразу закрывается? C++
Программа закрывается сразу после отработки C++
Программа сразу после ввода закрывается C++
C++ Проблемка (программа сразу закрывается и не выдаёт ответ)
После выполнения программа сразу закрывается и не даёт увидеть результат C++
После выполнения алгоритма программа сразу закрывается - как исправить? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17551 / 5789 / 370
Регистрация: 30.03.2009
Сообщений: 15,941
Записей в блоге: 26
16.07.2011, 12:49     Почему программа сразу закрывается ? #16
Принципиальная разница между getch (и прочими функциями ввода) и зацикливанием в том, что в первом случае программа находится в "спящем" состоянии (т.е. не грузит процессор), а во втором - в работающем (т.е. грузит процессор)
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,508
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;
}
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.07.2011, 13:10     Почему программа сразу закрывается ? #18
Цитата Сообщение от iama Посмотреть сообщение
diagon, на MS VC++ 2010 не пашет
В данном случае надо cin.ignore() поставить.
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
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();
очищаем поток от имеющихся в нем символов.
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
16.07.2011, 19:55     Почему программа сразу закрывается ? #21
nameless А если есть

C++
1
using namespace std;
Зачем
C++
1
std::
Везде писать ?
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 19:58     Почему программа сразу закрывается ? #22
parkito, Может быть конфликт имен
diagon
Higher
1928 / 1194 / 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, и с трудом сможете найти ошибку.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
16.07.2011, 22:42     Почему программа сразу закрывается ? #24
Мне интересно, как работает:
C
1
scanf("*");
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2011, 22:48     Почему программа сразу закрывается ?
Еще ссылки по теме:
C++ MS Visual Studio 2013 Express при компиляции программа открывается и сразу закрывается
Почему в конце программа сама закрывается? C++
C++ Почему после ввода переменной программа закрывается?
Структуры и ввод строк с пробелами: программа пропускает второй шаг, сразу переходя к третьему - почему? C++
Окно выполнения сразу же закрывается C++

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

Или воспользуйтесь поиском по форуму:
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.07.2011, 22:48     Почему программа сразу закрывается ? #25
Nursik77, форматированный ввод из потока.
Yandex
Объявления
16.07.2011, 22:48     Почему программа сразу закрывается ?
Ответ Создать тему
Опции темы

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