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

Выход по нажатию ESC - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
knf
16 / 16 / 2
Регистрация: 18.09.2012
Сообщений: 184
03.03.2013, 12:57     Выход по нажатию ESC #1
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
float sum();
float razn();
float del();
float proizv();
float fact();
 
#define ESC 27
using namespace std;
int main()
{   float x;
    char choice,c;
    c=' ';
    choice=' ';
    
    
    while (c==1);
    {
    printf("Bb|bepute deu`ctBue\n");
    printf("+ summa, - raznoctb, \ deJIeHue,* proizv,\n! faktoruaJI,sqrt KoPeHb kBadpatHb|u`,\n dJI9 Bb|xoda Hajmu ESC ");
    
    cin >> choice;
    switch(choice)
    {
      case '+' : 
          x=sum();
          break;
      case '-':
          x=razn();
          break;
      case '\\' :
          x=del();
          break;
      case '*' :
          x=proizv();
          break;
      case '!' :
          x=fact();
          break;            
      default : 
          cout << "Takogo deu`cTBu9 Het\n";
          break;
 
    }
     if (kbhit() && getch() == ESC)
         break;
    }
    
    getch();
    
    
}
float sum()
{   float rez,a,b;
 
    cout <<"BBedute 2 4ucJIa\n";
    cin >>a,b;
    rez=a+b;
    return rez;
}
 
float razn()
{   float rz,a,b;
 
    cout <<"BBedute 2 4ucJIa\n";
    cin >>a,b;
    rz=a-b;
    return rz;
}
float del()
{   float rz,a,b;
 
    cout <<"BBedute 2 4ucJIa\n";
    cin >>a,b;
    rz=a/b;
    return rz;
 
}
 
float proizv()
{   float rz,a,b;
 
    cout <<"BBedute 2 4ucJIa\n";
    cin >>a,b;;
    rz=a*b;
    return rz;
 
}
float fact()
{ float rz,a;
    rz=1;
    cout<< "BBedute 4ucJIo\n";
    cin >> a;
    for (int i=1; i<=a; i++)
        rz=rz*i;
 
    return rz;
}
Ругается в этом месте:
C++
1
2
 if (kbhit() && getch() == ESC)
         break;
Недопустимый break...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 12:57     Выход по нажатию ESC
Посмотрите здесь:

Выход из консоли по нажатию клавиши C++
Выход по ESC C++
C++ Esc-последовательности
C++ Выход из бесконечного цикла по нажатию кнопки.
C++ Отмена ввода по нажатию ESC
C++ Выход по Esc из любого места программы
Выход из программы по нажатии esc C++
C++ Выход по нажатию клавиши из терминала (Linux(UNIX)
C++ Выход из выполнения по нажатию кнопки
C++ Выход из цикла по нажатию определенной клавиши
C++ Выход из программы по нажатию Esc
Как сделать выход по нажатию клавиш - из графического и консольного режима? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
03.03.2013, 13:10     Выход по нажатию ESC #2
используй exit, находится он в библиотеке sdtlib.h
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
03.03.2013, 13:43     Выход по нажатию ESC #3
Цитата Сообщение от knf Посмотреть сообщение
if (kbhit() && getch() == ESC)
какой смысл проверять kbhit? Это имеет смысл делать, если при отсутствии нажатия клавиши программа должна всё равно что-то считать.
делай if (getch()==ESC)
knf
16 / 16 / 2
Регистрация: 18.09.2012
Сообщений: 184
03.03.2013, 14:39  [ТС]     Выход по нажатию ESC #4
Last_Night, Ладно, а тогда что вместо continue тут использовать можно?
Tolias28
204 / 119 / 2
Регистрация: 18.08.2010
Сообщений: 1,010
04.03.2013, 12:22     Выход по нажатию ESC #5
Цитата Сообщение от knf Посмотреть сообщение
Last_Night, Ладно, а тогда что вместо continue тут использовать можно?
Зачем вам там continue? Если по клавише Escape вам нужно вовзратиться на определенные строки, тогда замените if на while. Что-то типа этого:
while (kbhit() && getch() == ESC)
Yandex
Объявления
04.03.2013, 12:22     Выход по нажатию ESC
Ответ Создать тему
Опции темы

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