Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
#1

Консоль закрывается сразу после старта - C (СИ)

10.01.2014, 16:54. Просмотров 4499. Ответов 17
Метки нет (Все метки)

Здравствуйте. Я начинающий программист и у меня возникла проблема. Ввёл программу (правильную, без ошибок), скомпилировал её, а когда уже грузится консоль, то при выдаче самого результата она исчезает. Т.е. результат программа выдаёт, но его можно увидеть только за долю секунды. Как исправить? Помогите, пожалуйста. Visual Studio 2010 Ultimate, Win 7.
http://www.cyberforum.ru/c-beginners/thread1847532.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 16:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Консоль закрывается сразу после старта (C (СИ)):

Scanf. Консоль после ввода символа закрывается
Простенький код c scanf, непонятно почему консоль после ввода символа...

Сразу закрывается программа
Что нужно в коде изменить, чтобы программа сразу после завершения не...

Консоль сама закрывается
Сем привет! Проблема такая... Написал программу. Начинаю тестить exe-файл....

Консоль закрывается без ответа
#include <stdio.h> int main() { printf("Chto posmotret ?\n");...

Консоль открывается и тут же закрывается, ничего не напечатав
Здравствуйте, пытаюсь открыть файл txt, вроде код правильный, но скорее всего я...

17
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
10.01.2014, 17:03 #2
Цитата Сообщение от kulikow88 Посмотреть сообщение
Т.е. результат программа выдаёт, но его можно увидеть только за долю секунды. Как исправить?
Запускайте свою программу из консоли (cmd.exe).
Нет, Вы можете, конечно, вставить какой-нибудь Sleep или getch, но среди
нормальных консольных программ это не принято. Задача выполнена - консоль
закрывается - приложение завершается. Так и должно быть.

Так, для справки:
http://www.cyberforum.ru/c-beginners/thread10807.html
0
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
10.01.2014, 17:18 #3
Цитата Сообщение от kulikow88 Посмотреть сообщение
Здравствуйте. Я начинающий программист и у меня возникла проблема. Ввёл программу (правильную, без ошибок), скомпилировал её, а когда уже грузится консоль, то при выдаче самого результата она исчезает. Т.е. результат программа выдаёт, но его можно увидеть только за долю секунды. Как исправить? Помогите, пожалуйста. Visual Studio 2010 Ultimate, Win 7.
сделать так, чтоб консоль не исчезала - добавь в конце кода Console.ReadKey();
0
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 17:29  [ТС] #4
Выдаёт следующее: "error C2228: выражение слева от ".ReadKey" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'"

Добавлено через 1 минуту
Программа самая элементарнейшая:
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main (void)
{
int answer, result;
answer = 100;
result = answer - 10;
printf("The result is %i\n", result + 5);
    return 0;
    Console.ReadKey();
}
0
Xylitol
4 / 4 / 1
Регистрация: 25.10.2013
Сообщений: 17
10.01.2014, 17:32 #5
Это не си-шарп, здесь нельзя писать Console.Readkey();
В C++ обычно пишут getch(); или system("pause");
0
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
10.01.2014, 17:37 #6
Цитата Сообщение от kulikow88 Посмотреть сообщение
Выдаёт следующее: "error C2228: выражение слева от ".ReadKey" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'"
хммм...
В общем вот пример того, как должен выглядеть "Hello World!" в неисчезающей консоле в Visual Studio в консольном приложении.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");
 
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}
Сравните со своим исходником, возможно ошибку удастся устранить.

Добавлено через 2 минуты
оказывается не C#...
тогда RTFMRules все верно описал
0
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 17:38  [ТС] #7
Xylitol, getch() у меня тоже не идёт. А что по поводу "system"? Я просто незнаком с этим. Мне пишет, что идентификатор не найден. Может быть нужно какую-то директорию дописать?
0
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
10.01.2014, 17:43 #8
Цитата Сообщение от kulikow88 Посмотреть сообщение
Xylitol, getch() у меня тоже не идёт. А что по поводу "system"? Я просто незнаком с этим. Мне пишет, что идентификатор не найден. Может быть нужно какую-то директорию дописать?
getchar();
Убежденный давал Вам ссылку на устранение этой проблемы, там это было
0
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 17:43  [ТС] #9
"system" тоже не идёт. Снова выбивает
0
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
10.01.2014, 17:47 #10
Цитата Сообщение от kulikow88 Посмотреть сообщение
"system" тоже не идёт. Снова выбивает
добавьте библиотеку #include <conio.h> и затем в конце getch() или getchar();
0
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 17:51  [ТС] #11
Испробовал все способы и даже те, что скинул мне Убеждённый, но пока безрезультатно. Снова вылеты
0
Xylitol
4 / 4 / 1
Регистрация: 25.10.2013
Сообщений: 17
10.01.2014, 17:56 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<conio.h>
#include <iostream>
using namespace std;
int main ()
{
int answer, result;
answer = 100;
result = answer - 10;
printf("The result is %i\n", result + 5);
getch();
return 0;
}
Попробуйте скомпилировать вот эту штуку
1
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
10.01.2014, 18:13 #13
Цитата Сообщение от kulikow88 Посмотреть сообщение
Испробовал все способы и даже те, что скинул мне Убеждённый, но пока безрезультатно. Снова вылеты
вот специально создал в Visual Studio 2010 Ultimate на С++ консольное приложение Win32, все работает.
исходник
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int answer, result;
    answer = 100;
    result = answer - 10;
    printf("The result is %i\n", result + 5);
    getchar();
    return 0;
}

Скриншот
1
Миниатюры
Консоль закрывается сразу после старта  
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 19:29  [ТС] #14
Спасибо. Всем плюсанул. Только есть ещё один вопрос. После компилирования более сложных программ консоль всё равно вылетает. В чём причина? Использовал все варианты.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <conio.h>
#include <iostream>
 
const int N = 10;
 
int main()
{
    int A[N];
    int    i, max1, max2, max3;
    for (i = 0; i<N; i++)
        scanf("%d", &A[i]);
    max1 = -1; max2 = -1; max3 = -1;
    for (i = 1; i<N; i++)
    {
        if (A[i] > max1)
        { // новый max1 
            max3 = max2;
            max2 = max1;
            max1 = A[i];
        }
        else
        if (A[i] > max2)
        { // новый max2 
            max3 = max2;
            max2 = A[i];
        }
        else
        if (A[i] > max3) // новый max3 
            max3 = A[i];
    }
    printf("%d  %d  %d", max1, max2, max3);
    return 0;
    getchar();
}
0
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
10.01.2014, 19:41 #15
kulikow88, две последние строки местами перепутал
0
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
10.01.2014, 19:44  [ТС] #16
easybudda, тот же результат
0
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
10.01.2014, 21:08 #17
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
 
const int N = 10;
 
int main()
{
    int A[N];
    int    i, max1, max2, max3;
    for (i = 0; i<N; i++)
        scanf("%d", &A[i]);
    max1 = -1; max2 = -1; max3 = -1;
    for (i = 1; i<N; i++)
    {
        if (A[i] > max1)
        { // новый max1 
            max3 = max2;
            max2 = max1;
            max1 = A[i];
        }
        else
        if (A[i] > max2)
        { // новый max2 
            max3 = max2;
            max2 = A[i];
        }
        else
        if (A[i] > max3) // новый max3 
            max3 = A[i];
    }
    printf("%d  %d  %d", max1, max2, max3);
    
    system("pause");
    return 0;
}
если и так не получится - hands.sys обновлять...
1
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
11.01.2014, 13:14  [ТС] #18
Спасибо большое. Помогло! +)
0
11.01.2014, 13:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 13:14
Привет! Вот еще темы с решениями:

Программа закрывается после ввода данных
У меня такая проблема: При вводе данных первый раз нормально всё вводится, а...

Программа закрывается после ввода последнего числа
я и getch () ставил все равно вылетает на пример ввожу в компиляторе...

Выполнять код сразу после ввода значения
#include &quot;stdlib.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...

Программа, удаляющая буквы сразу же после написания
Нужно написать программу, которая прямо в командной строке удаляет буквы, но не...


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

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

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