Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Дімич
6 / 6 / 0
Регистрация: 08.04.2013
Сообщений: 111
1

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

09.04.2013, 18:06. Просмотров 1880. Ответов 12
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
Написав щось подібне калькулятору.
Але що написати щоб вийти з консолі??
буду вдячний.
І ще наприклад для повернення в голову програми? що для того потрібно?? на асемблері просто 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;
}
 Комментарий администратора 
Официальный язык форума - русский
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 18:06
Ответы с готовыми решениями:

как выйти из программы
при выполнении программы - выполняется выбранная операция, после чего при...

как полностью выйти из программы?
есть программа, в которой цикл. необходимо, чтобы при определенном значении...

Как досрочно выйти из программы
Всем привет. Как досрочно выйти из программы: int main() { int b;...

Не получается выйти из программы
Всю голову сломала ! Почему while (str != NULL) не реагирует на (str != NULL)...

Выйти указателем за пределы памяти программы
Создаю я переменные int x = 0; int* xpp; затем ну можно по нажатию можно...

12
VEINHORN
543 / 92 / 49
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:09 2
Лучший ответ Сообщение было отмечено как решение

Решение

return для выхода, в голову goto в c
1
GetVariable
163 / 119 / 46
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 18:10 3
goto c

Не по теме:

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

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

Добавлено через 1 минуту
окей) В смисле? так и написать goto c?
0
VEINHORN
543 / 92 / 49
Регистрация: 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;
}
0
GetVariable
163 / 119 / 46
Регистрация: 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;
}
и зачем вы даёте такие советы?
0
VEINHORN
543 / 92 / 49
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 18:39 7
Цитата Сообщение от GetVariable Посмотреть сообщение
и зачем вы даёте такие советы?
Вы про смешивание c и с++? Или про то что этот оператор сильно запутывает код?
0
GetVariable
163 / 119 / 46
Регистрация: 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 и с++? Или про то что этот оператор сильно запутывает код?

Не по теме:

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

0
VEINHORN
543 / 92 / 49
Регистрация: 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
0
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;
}
}
 
}
0
GetVariable
163 / 119 / 46
Регистрация: 17.03.2013
Сообщений: 283
09.04.2013, 19:09 11
Цитата Сообщение от MCKLAS Посмотреть сообщение
В некоторых случаях гораздо целесообразнее использовать goto, и если бы он был не нужен в Си Керниган и Ритчи бы не добавляли этот оператор в спецификацию языка Си.В данном случае я привел пример как один из вариантов решения поставленного вопроса.)
Ссылка 1

Не по теме:

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

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

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

Добавлено через 3 минуты
Но если всё тело можно можно свети к вводу и множественному ветвлению с брейком в одной ветви, то goto и в этом случае становится избыточным, так как в этом случае сложность не растёт.
1
Дімич
6 / 6 / 0
Регистрация: 08.04.2013
Сообщений: 111
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;
}
0
13.04.2013, 11:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 11:37

Выйти из программы, нажав сочетание клавиш Ctrl+Z
Программа состоит из бесконечного цикла ввода и вывода строки, необходимо выйти...

почему после нажатия на ноль мне приходится два раза жать на Enter чтобы выйти из программы ,хотя я в while ук
почему после нажатия на ноль мне приходится два раза жать на Enter чтобы выйти...

как выйти из циклов
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt;...


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

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

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