Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
LaMeR55
0 / 0 / 1
Регистрация: 27.10.2015
Сообщений: 115
1

Закрывается консоль сразу после вывода результата

06.11.2016, 16:47. Просмотров 1293. Ответов 6
Метки нет (Все метки)

вот такая проблема, считает всё верно, но сразу после результата консоль закрывается, и помогите пожалуйста так сделать что б не можно было вводить символы и минусовые значения, только положительные цифры
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
36
37
38
39
//---------------------------------------------------------------------------
#include <iostream>
#pragma hdrstop
using namespace std;
//---------------------------------------------------------------------------
 
#pragma argsused
void main()
{
    int a, b, c;
    cout << "Enter the size of 'a' side: ";
    cin >> a;
    cout << "Enter the size of 'b' side: ";
    cin >> b;
    cout << "Enter the size of 'c' side: ";
    cin >> c;
    if (((a <= 0) || (b <= 0) || (c <= 0) || (a >= b + c) || (b >= a + c) || (c >= a + b)))
    {
        cout << "ERROR: Triangle is incorrect\n";
    }
    if ((a == b)&(a == c)&(b == c))
        cout << "Tiangle is ravnosotoronniy\n";
    else if ((a == b) || (a == c) || (b == c))
        cout << "Tiangle is ravnobedreniy\n";
    if (a*a == (b*b + c*c) || (b*b == (a*a + c*c)) || (c*c == (a*a + b*b)))
    {
        cout << "Tiangle is pramougolniy\n";
    }
    if ((a*a<(b*b + c*c))&(b*b<(a*a + c*c))&(c*c<(b*b + a*a)))
    {
        cout << "Tiangle is ostroygolniy\n";
    }
    if ((a*a>(b*b + c*c)) || (b*b>(a*a + c*c)) || (c*c>(b*b + a*a)))
    {
        cout << "Tiangle is tupougolniy\n";
    }
}
 
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2016, 16:47
Ответы с готовыми решениями:

Консоль закрывается, не выдав результата
У меня есть 2 кода, нужно сделать третий, из которого можно было бы открывать первые два. Что-то...

Консоль открывается и сразу закрывается
консоль открывается и сразу закрывается. C++?? я решил эту проблему вот так #include &quot;stdafx.h&quot;...

Прoблемa с выводом в консоль. Почти сразу закрывается.
У меня возникла проблема. Моя задача: Напечатать в порядке возрастания числа от 100 до 999 в...

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

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

6
Aymurat
123 / 113 / 67
Регистрация: 07.11.2014
Сообщений: 771
Завершенные тесты: 8
06.11.2016, 16:58 2
Лучший ответ Сообщение было отмечено LaMeR55 как решение

Решение

C++
1
system("pause");
после 36 строки

Добавлено через 2 минуты
LaMeR55,
Цитата Сообщение от LaMeR55 Посмотреть сообщение
не можно было вводить символы и минусовые значения, только положительные цифры
Тогда вводите в массив символов, а уже оттуда парсите значение. По ASCII узнаете цифра ли такой то элемент массива символов, в начале на минус проверите, а если таки цифра, да положительное число, отбирайте 48 от кода цифры в ASCII и будет число
1
LaMeR55
0 / 0 / 1
Регистрация: 27.10.2015
Сообщений: 115
06.11.2016, 17:28  [ТС] 3
а почему именно после 36 строки?
0
Aymurat
123 / 113 / 67
Регистрация: 07.11.2014
Сообщений: 771
Завершенные тесты: 8
06.11.2016, 17:45 4
LaMeR55, потому что программу нужно ставить на паузу ПЕРЕД return 0;
0
LaMeR55
0 / 0 / 1
Регистрация: 27.10.2015
Сообщений: 115
06.11.2016, 18:29  [ТС] 5
спасибо))
0
Алексей_Либанов
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
06.11.2016, 18:31 6
LaMeR55, есть еще вариант.
C++
1
2
3
4
#include<conio.h>
//......
_getch();
return 0;
0
worldown
182 / 171 / 110
Регистрация: 22.06.2009
Сообщений: 522
06.11.2016, 21:29 7
Если в VS то еще вариант ctrl+F5

как вариант ввод только положительных чисел и исключая др. символы:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//---------------------------------------------------------------------------
#include <iostream>
#pragma hdrstop
using namespace std;
//---------------------------------------------------------------------------
 
#pragma argsused
 
void enter(int &a, char *str, char *currentScreen) {
    char *ch = new char[100];
    strcat_s(currentScreen,500,str);
 
    do {
        cout << currentScreen;
        while (!(cin >> a))
        {
            system("cls");
            cin.clear(); // clear failbit from character
            cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // ignore bad input
            cout << currentScreen;
        }
        system("cls");
        cin.clear();
    } while (a < 0);
 
    
        _itoa_s(a, ch, 20, 10);
        strcat_s(currentScreen, 100, ch);
        strcat_s(currentScreen, 500, "\n");
}
 
void main()
{
    int a,b,c;
    char currentScreen[500] = "\0";
        enter(a, "Enter the size of 'a' side:", currentScreen);
        enter(b, "Enter the size of 'b' side:", currentScreen);
        enter(c, "Enter the size of 'c' side:", currentScreen);
        //cout << "Enter the size of 'a' side: ";
        //cin >> b;
        //cout << "Enter the size of 'b' side: ";
        //cin >> b;
        //cout << "Enter the size of 'c' side: ";
        //cin >> c;
 
    if (((a <= 0) || (b <= 0) || (c <= 0) || (a >= b + c) || (b >= a + c) || (c >= a + b)))
    {
        cout << "ERROR: Triangle is incorrect\n";
    }
    if ((a == b)&(a == c)&(b == c))
        cout << "Tiangle is ravnosotoronniy\n";
    else if ((a == b) || (a == c) || (b == c))
        cout << "Tiangle is ravnobedreniy\n";
    if (a*a == (b*b + c*c) || (b*b == (a*a + c*c)) || (c*c == (a*a + b*b)))
    {
        cout << "Tiangle is pramougolniy\n";
    }
    if ((a*a<(b*b + c*c))&(b*b<(a*a + c*c))&(c*c<(b*b + a*a)))
    {
        cout << "Tiangle is ostroygolniy\n";
    }
    if ((a*a>(b*b + c*c)) || (b*b>(a*a + c*c)) || (c*c>(b*b + a*a)))
    {
        cout << "Tiangle is tupougolniy\n";
    }
}
 
//---------------------------------------------------------------------------
0
06.11.2016, 21:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2016, 21:29

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

Консоль закрывается после выполнения программы
Всем привет, такая проблема, после выполнения программы окно консоли закрывается. Как можно...

Консоль закрывается после перехода в функцию
После выполнения функции main консоль закрывается, в чем ошибка? int _tmain(int argc, _TCHAR*...


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

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

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