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

Прерывание цикла, через клавишу Esc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что означают переменные в моей программе? http://www.cyberforum.ru/cpp-beginners/thread1307055.html
Что означает строчка в программе Data=сh+data, а точнее , что такое ch?
C++ Сравнение цифр в n-значном числе int x, y, n=99; for(int i = 0; i <= n; i++) // проход по всем числам в интервале, включая границы { x = i / 10; // старший знак - делим на 10. Например 43 / 10 = 4 y = i % 10; // младший знак - остаток от деления на 10. Например 43 % 10 = 3 if( (abs( x - y) == 1) & ((x != 0) & (y != 0)) ) // если разница по модулю равна единице и нет нулей cout << i<< endl; } getchar(); getchar(); http://www.cyberforum.ru/cpp-beginners/thread1307040.html
C++ Класс "Вектор", меню для демонстрации его возможностей
Ребят, помоги разобраться с переменными, не могу сообразить. Там в классе конструктор со встроенными параметрами для 1-го вектора... и 2-ой вводится в общем, и операции между ими совершаются! всё вроде прекрасно, но вот переменные не могу почему то правильно раскидать.... Прошу помощи в решении данной проблемы или пути её исправления. Заранее Спасибо! #include "stdafx.h" #include "iostream"...
C++ Класс "Человек", информация о поле: char или int?
информация о человеке, пол забит в char #include <iostream> using namespace std; class person { private: char _name; int _age; int _gender;
C++ Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов http://www.cyberforum.ru/cpp-beginners/thread1307016.html
Нужна помощь! Задача: Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов (смещений начал строк в текстовом файле). Имя входного (текстового) файла задается в виде аргумента командной строки. Имя выходного (двоичного) файла генерируется программой: он должен иметь то же имя, что и входной, но другое расширение - “.idx”. Написать максимально эффективную функцию вывода...
C++ Как замедлить выполнение for без Sleep Хаюши умные дядьки такая проблема надо замедлить выполнение int qwe=10, asd=0, zxc=500; for (int i=1; i<=10; i++) { qwe-=1; Sleep(zxc); asd+=5; Sleep(zxc); } подробнее

Показать сообщение отдельно
xAndeRx
3 / 3 / 0
Регистрация: 25.10.2012
Сообщений: 213

Прерывание цикла, через клавишу Esc - C++

21.11.2014, 18:26. Просмотров 264. Ответов 4
Метки (Все метки)

Мне нужно в прервать цикл при нажатии клавиши Esc.
Делаю через getch(). Все работает, но есть одна проблема, в каждом прогоне цикла нужно 2 раза вводить один и тот же элемент массива, чтобы в 1-ый раз проверялся getch, а во второй это элемент вносился в массив.
Как убрать это? Но при этом сохранить проверку на Esc.

Код:
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    cout << "Введите размерность массива: ";
    cin >> n;
    float mas[n];
    int i=0,k=0;
    int positive,kratnie;
    cout << "Вводите элементы массива." << endl;
    int a;
    do
    {
        cin >> mas[i];
        if (mas[i]>0) //Проверка на положительность
            positive++;
 
        if (mas[i]<50)
            kratnie++;
 
        if (mas[i]==-100)
            break;
        i++;
        k++;
    }
    while ((a=getch())!=27);
    if (positive>5)
        cout << "Первое условие ложное, положительных цифр больше чем 5." << endl;
    else if (positive<5)
        cout << "Первое условие правдивое, положительных цифр не больше чем 5." << endl;
 
    if (kratnie % 4 == 0)
        cout << "Второе условие правдивое, количество элементов, которые не больше 50,55, кратно четырем.";
    else if (kratnie % 4 != 0)
        cout << "Второе условие ложное, количество элементов, которые не больше 50,55, не кратно четырем.";
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru