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

Как выйти из программы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
09.04.2013, 18:06     Как выйти из программы #1
Кликните здесь для просмотра всего текста
Написав щось подібне калькулятору.
Але що написати щоб вийти з консолі??
буду вдячний.
І ще наприклад для повернення в голову програми? що для того потрібно?? на асемблері просто JMP))


Написал что-то подобное калькулятору.
Но что написать чтобы выйти из консоли?
буду благодарен.
И еще например для возвращения в голову программы? что для этого нужно? на ассемблере просто JMP))

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream>
using namespace std;
#define f float
int main()
{
    f a,b,c, r;
    char h;
    setlocale(0,"Ukrainian");
    cout<<"ВВердіть число №1\n";
    cin>>a;
    cout<<"Введіть операцію :+:-:*:/:\n";
    cout<< "якщо сінус(s); косинус(с); до квадрату(k); степінь(z); корінь(x) \n";
    cin>>h;
    switch (h)
    {
        case 's':
                c=sin(a);
                cout<<"Синус введеного числа = "<<c<<endl;
              break;
         
              case 'c':
                c=cos(a);
                cout<<"Косинус введеного числа = "<<c<<endl;
              break;
 
              case 'k':
                c=a*a;
                cout<<" ПІдняте число до квадрату "<<a<<";  Дорівнює "<<c<<endl;
              break;
 
              case 'z':
                cout<<"Введіть степінь\n";
                cin>>b;
                c=pow(a,b);
                cout<<"Введене число "<<a<<";  Піднято у степінь "<<b<<";  І дорівнює "<<c<<endl;
              break;
 
              case 'x':
                c=sqrt(a);
                cout<<"Корінь квадратний з числа "<<a<<";  Дорівнює "<<c<<endl;
              break;
    case '+':
        cout<<"Введіть число №2\n";
        cin>>b;
        c=a+b;
        cout<<"Резутьтат: "<<c<<endl;
 
    break;
    case '-':
        cout<<"Введіть число №2\n";
        cin>>b;
        c=a-b;
        cout<<"Резутьтат: "<<c<<endl;
    break;
    case '*':
        cout<<"Введіть число №2\n";
        cin>>b;
         c=a*b;
        cout<<"Резутьтат: "<<c<<endl;
        
    break;
    case '/':
        cout<<"Введіть число №2\n";
        cin>>b;
        if(b==0)
        {
            cout<<"Ділення на 0 заборонено!"<<endl;
        }
        else
        {c=a/b;
        cout<<"Резутьтат: "<<c<<endl;
        }
    break;
    default:
        cout<<"Невірне значення!!! ";
    break;
    }
    cout<<"Бажаєте вийти з програми? Натисніть 1"<<endl;
    cin>>r;
    if(c==1) 
        exit(0);
    else
    system ("pause");
    return 0;
}
 Комментарий администратора 
Официальный язык форума - русский
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 18:06     Как выйти из программы
Посмотрите здесь:

C++ do while - как выйти из цикла?
C++ как выйти из циклов
C++ как выйти из программы
Не получается выйти из программы C++
Как досрочно выйти из программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:09     Как выйти из программы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
return для выхода, в голову goto в c
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 18:10     Как выйти из программы #3
goto c

Не по теме:

нельзя использовать goto.

Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
09.04.2013, 18:12  [ТС]     Как выйти из программы #4
А я роздзява.!!! Замісь "r" написав провірку на "c")))
Може хтось підказати як стрибнути в голову програми??

Добавлено через 1 минуту
окей) В смисле? так и написать goto c?
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:16     Как выйти из программы #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main ()    
{
begin:
    cout << "ridna ukraina" << endl;
    int a = 0;
    cout << "vvedite ne nulj-perehod v nachalo 0 vihod" << endl;
    cin >> a;
    if(a)
        goto begin;
    else
        return 0;
  system("pause");
  return 0;
}
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 18:34     Как выйти из программы #6
Цитата Сообщение от MCKLAS Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main ()    
{
begin:
    cout << "ridna ukraina" << endl;
    int a = 0;
    cout << "vvedite ne nulj-perehod v nachalo 0 vihod" << endl;
    cin >> a;
    if(a)
        goto begin;
    else
        return 0;
  system("pause");
  return 0;
}
и зачем вы даёте такие советы?
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:39     Как выйти из программы #7
Цитата Сообщение от GetVariable Посмотреть сообщение
и зачем вы даёте такие советы?
Вы про смешивание c и с++? Или про то что этот оператор сильно запутывает код?
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 18:43     Как выйти из программы #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()    
{
    char answer;
 
    do
    {
        std::cout << "Hello." << std::endl;
 
        std::cout << "Enter Y or N: " << std::endl;
 
        std::cin >> answer;
    }
    while(toupper(answer) == 'Y');
 
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от MCKLAS Посмотреть сообщение
Вы про смешивание c и с++? Или про то что этот оператор сильно запутывает код?

Не по теме:

этот оператор не только запутывает код, он ещё показывает насколько автор знает правила хорошего кода.

VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:48     Как выйти из программы #9
Цитата Сообщение от GetVariable Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()    
{
    char answer;
 
    do
    {
        std::cout << "Hello." << std::endl;
 
        std::cout << "Enter Y or N: " << std::endl;
 
        std::cin >> answer;
    }
    while(toupper(answer) == 'Y');
 
    return 0;
}
Добавлено через 1 минуту


Не по теме:

этот оператор не только запутывает код, он ещё показывает насколько автор знает правила хорошего кода.

В некоторых случаях гораздо целесообразнее использовать goto, и если бы он был не нужен в Си Керниган и Ритчи бы не добавляли этот оператор в спецификацию языка Си.В данном случае я привел пример как один из вариантов решения поставленного вопроса.)
Ссылка 1
IrineK
Заблокирован
09.04.2013, 19:03     Как выйти из программы #10
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
using namespace std;
#define f float
int main()
{
f a,b,c, r;
char h;
setlocale(0,"Ukrainian");
cout<<"ВВердіть число №1\n"; //да ты и на украинском-то не особо :gmad:
cin>>a;
cout<<"Введіть операцію :+:-:*:/:\n";
cout<< "якщо сінус(s); косинус(с); до квадрату(k); степінь(z); корінь(x) \n";
cout<<"Бажаєте вийти з програми? Натисніть 1"<<endl;
cin>>h;
for(;;)
{switch (h)
{
case 's':
     c=sin(a);
     cout<<"Синус введеного числа = "<<c<<endl;
     break;
 
case 'c':
     c=cos(a);
     cout<<"Косинус введеного числа = "<<c<<endl;
     break;
 
case 'k':
     c=a*a;
     cout<<" ПІдняте число до квадрату "<<a<<"; Дорівнює "<<c<<endl;
     break;
 
case 'z':
     cout<<"Введіть степінь\n";
     cin>>b;
     c=pow(a,b);
     cout<<"Введене число "<<a<<"; Піднято у степінь "<<b<<"; І дорівнює "<<c<<endl;
     break;
 
case 'x':
     c=sqrt(a);
     cout<<"Корінь квадратний з числа "<<a<<"; Дорівнює "<<c<<endl;
     break;
 
case '+':
     cout<<"Введіть число №2\n";
     cin>>b;
     c=a+b;
    cout<<"Резутьтат: "<<c<<endl;
     break;
 
case '-':
     cout<<"Введіть число №2\n";
     cin>>b;
     c=a-b;
     cout<<"Резутьтат: "<<c<<endl;
     break;
case '*':
     cout<<"Введіть число №2\n";
     cin>>b;
     c=a*b;
     cout<<"Резутьтат: "<<c<<endl;
     break;
case '/':
     cout<<"Введіть число №2\n";
     cin>>b;
if(b==0)
{
cout<<"Ділення на 0 заборонено!"<<endl;
}
else
{c=a/b;
cout<<"Резутьтат: "<<c<<endl;
}
     break;
 
case 1: 
     cin.get();
     return 0;
 
default:
     cout<<"Невірне значення!!! ";
     break;
}
}
 
}
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 19:09     Как выйти из программы #11
Цитата Сообщение от MCKLAS Посмотреть сообщение
В некоторых случаях гораздо целесообразнее использовать goto, и если бы он был не нужен в Си Керниган и Ритчи бы не добавляли этот оператор в спецификацию языка Си.В данном случае я привел пример как один из вариантов решения поставленного вопроса.)
Ссылка 1

Не по теме:

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

taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.04.2013, 19:27     Как выйти из программы #12
Цитата Сообщение от MCKLAS Посмотреть сообщение
В некоторых случаях гораздо целесообразнее использовать goto, и если бы он был не нужен в Си Керниган и Ритчи бы не добавляли этот оператор в спецификацию языка Си.В данном случае я привел пример как один из вариантов решения поставленного вопроса.)
Goto следует применять тогда и только тогда, когда любая алтернатива, которую можешь придумать, усложняет исходный текст. При равной сложности предпочитать альтернативу, тем более при меньшей.

Добавлено через 7 минут
Например, если в конце тела цикла надо выбирать между возвратом в начало, в середину и выходом из цикла, то попытка избавиться от goto ведёт к двойной проверке каждого условия, что есть усложнение по сравнению с двумя ифами и двумя goto.

Добавлено через 3 минуты
Но если всё тело можно можно свети к вводу и множественному ветвлению с брейком в одной ветви, то goto и в этом случае становится избыточным, так как в этом случае сложность не растёт.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 11:37     Как выйти из программы
Еще ссылки по теме:

C++ Как выйти из функции
Как выйти из условия if? C++
C++ Как выйти из оператора if

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

Или воспользуйтесь поиском по форуму:
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
13.04.2013, 11:37  [ТС]     Как выйти из программы #13
Ну смотря чем компилить. спасибо с goto расчехлил. Ну не знаю пока у меня вот что получилось.
но нада вин-апи будет учить.
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
using namespace std;
#define f float
int main()
{
    f a,b,c ;
    int r;
    //char r;
    char h;
    setlocale(0,"Ukrainian");
i:  cout<<"ВВердіть число №1\n";
    cout<<endl;
    cin>>a;
    cout<<endl;
    cout<<"Введіть просту операцію :+: :-: :*: :/:\n";
    cout<<"Операція сінус(s); косинус(с); до квадрату(k); степінь(z); корінь(x) \n";
    cout<<"тангенс(t); котангенс(y); логарифм(l); експонента(e); корінь вказаного степеня(o) \n";
    cout<<endl;
    cin>>h;
    cout<<endl;
    switch (h)
    {
              case 's':
                c=sin(a);
                cout<<"Синус введеного числа = "<<c<<endl;
              break;
         
              case 'c':
                c=cos(a);
                cout<<"Косинус введеного числа = "<<c<<endl;
              break;
 
              case 't':
                c=tan(a);
                cout<<"Тангенс введеного числа = "<<c<<endl;
              break;
 
              case 'y':
                c=1/tan(a);
                cout<<"Котангенс введеного числа = "<<c<<endl;
              break;
 
              case 'e':
                c=exp(a);
                cout<<"Експонента числа = "<<c<<endl;
              break;
 
              case 'l':
                  cout<<"Логарифм за основою "<<a<<endl;
                  cout<<"Введіть число №2\n";
                  cin>>b;
                  c=log10(b)/log10(a);
                cout<<"Логарифм за основою "<<a<<"; Числа "<<b<<"; Дорівнює "<<c<<endl;
              break;
 
               case 'o':
                  cout<<"Введіть степінь\n";
                  cin>>b;
                  c=pow(a,1/b);
                cout<<"Корінь "<<b<<" Степеня;  Числа "<<a<<"; Дорівнює"<<c<<endl;
              break;
              
              case 'k':
                c=a*a;
                cout<<" ПІдняте число до квадрату "<<a<<";  Дорівнює "<<c<<endl;
              break;
 
              case 'z':
                cout<<"Введіть степінь\n";
                cin>>b;
                c=pow(a,b);
                cout<<"Введене число "<<a<<";  Піднято у степінь "<<b<<";  І дорівнює "<<c<<endl;
              break;
 
              case 'x':
                c=sqrt(a);
                cout<<"Корінь квадратний з числа "<<a<<";  Дорівнює "<<c<<endl;
              break;
    case '+':
        cout<<"Введіть число №2\n";
        cin>>b;
        c=a+b;
        cout<<"Резутьтат: "<<c<<endl;
 
    break;
    case '-':
        cout<<"Введіть число №2\n";
        cin>>b;
        c=a-b;
        cout<<"Резутьтат: "<<c<<endl;
    break;
    case '*':
        cout<<"Введіть число №2\n";
        cin>>b;
         c=a*b;
        cout<<"Резутьтат: "<<c<<endl;
        
    break;
    case '/':
        cout<<"Введіть число №2\n";
        cin>>b;
        if(b==0)
        {
            cout<<"Ділення на 0 заборонено!"<<endl;
        }
        else
        {c=a/b;
        cout<<"Резутьтат: "<<c<<endl;
        }
    break;
    default:
        cout<<"Невірне значення!!! ";
    break;
    }
p:  cout<<endl;
    cout<<"Бажаєте вийти з програми? Натисніть 1"<<endl;
    cout<<"Очистити екран та повторити операцію? Натисніть 2"<<endl;
    cin>>r;
    /*if(r==1)
        exit(0);
    else
        goto i;*/
    switch (r)
    { case 1:   
        exit(0);
        break;
     case 2:
     system("cls");
    goto i;
     default:
         cout<<"Помилка вводу, посторіть спробу"<<endl;
         goto p;
     }
    system ("pause");
    return 0;
}
Yandex
Объявления
13.04.2013, 11:37     Как выйти из программы
Ответ Создать тему
Опции темы

Текущее время: 05:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru