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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

Автоматический выход из цикла. - C++

26.09.2010, 03:24. Просмотров 795. Ответов 3
Метки нет (Все метки)

имеется код:

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
int main()
{
    square s; //объект класса
    unsigned char ch;
 
     /*цикл 1*/
    while(true){
        Sleep(1000);
        s.erase(), s.move(down), s.draw(); //Автоматическое движение фигуры вниз
 
 
       /*цикл 2*/
        do {
            ch = getch();
            if (ch == 224){
                ch = getch();
                switch(ch){
                    case left:  s.erase(), s.move(left),  s.draw(); break;
                    case right: s.erase(), s.move(right), s.draw(); break;
                    case up:    s.erase(), s.move(up),    s.draw(); break;
                    case down:  s.erase(), s.move(down),  s.draw(); break;
                }
            }
        }
        while (ch != exit_tet); /*конец  цикл 2*/
 
    } /*конец  цикл 1*/
 
    return 0;
}
здесь, через каждую секунду, квадрат автоматически движется вниз по экрану, но при входе в /*цикл 2*/ программа все время ждет нажатия клавиши, что придумать чтобы по истечению например 2 сек. программа автоматически выходила из /*цикл 2*/ ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2010, 03:24     Автоматический выход из цикла.
Посмотрите здесь:

Автоматический вход-выход в windows - C++
Здравствуйте! Подскажите, как при определённом событии (таймер, автозагрузка) осуществить вход в windows? Например - включили...

Выход из цикла из консоли - C++
В консольном приложении пользователь запускает цикл, выход из которого возможен только по инициативе пользователя. Как реализовать? ...

Принудительный выход из цикла - C++
Задача: пользователь вводит текст, если в тексте встречается запятая, вывести какая самая первая запятая по счету. вот мой код: ...

Принудительный выход из цикла - C++
Вообщем надо при определенном условии завершать вложенный цикл, такой код будет работать??? for(.....) { for(.....) { if...

Преждевременный выход из цикла - C++
Здраствуйте! Спасибо за внимание. Стояла задача: 1. построить двумерный динамический массив. (выполнено) 2. нахождение количества...

Выход из двойного цикла - C++
Как выйти при нажатии определенной кнопки из двойного цикла: #include<conio.h> #include<iostream> #include<cmath> #include<cstring>...

Выход за пределы цикла - C++
Вообщем необходимо реализовать алгоритм по пунктам от 1 до 27 и в них есть переходы на другие пункты. Есть 2 цикла do while, один от 5 до...

Преждевременный выход из цикла - C++
#include <iostream> using namespace std; void enter_new_note (); void show_sheldue (); int x = 1; char Monday , Thuesday...

Выход из тела цикла - C++
Имеется цикл: for(;;) for(;;) for(;;) for(;;) for(;;) cout<<2; Нужно выйти из его тела, используя...

Многопоточность, выход из бесконечного цикла c++11 - C++
Всем привет. Я в задачах многопоточности - новичок (начал ей заниматься буквально несколько часов назад), инфу искал, читал, но как-то пока...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.09.2010, 06:52     Автоматический выход из цикла. #2
под линем select() для stdin'а
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
26.09.2010, 08:36     Автоматический выход из цикла. #3
Цитата Сообщение от PointsEqual Посмотреть сообщение
что придумать чтобы по истечению например 2 сек. программа автоматически выходила из /*цикл 2*/ ?
При таком подходе цикл получается вообще не нужен) Конкретно для вашего кода можно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 /*цикл 2*/
        do {
            ch = getch();
            if (ch == 224){
                ch = getch();
                switch(ch){
                    case left:  s.erase(), s.move(left),  s.draw(); break;
                    case right: s.erase(), s.move(right), s.draw(); break;
                    case up:    s.erase(), s.move(up),    s.draw(); break;
                    case down:  s.erase(), s.move(down),  s.draw(); break;
                }
            }
        Sleep(2000);}//ждем 2 секунды
        while (false); //и выходим))
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
26.09.2010, 23:27  [ТС]     Автоматический выход из цикла. #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*цикл 2*/
 do {
 ch = getch();
 if (ch == 224){
 ch = getch();
 switch(ch){
 case left: s.erase(), s.move(left), s.draw(); break;
 case right: s.erase(), s.move(right), s.draw(); break;
 case up: s.erase(), s.move(up), s.draw(); break;
 case down: s.erase(), s.move(down), s.draw(); break;
 }
 }
 Sleep(2000);}//ждем 2 секунды
 while (false); //и выходим))
но таким способом фигура автоматически не движется, ( для этого и нужен был первый цикл1), и цикл 2 все равно ждет от пользователя ввод до тех пор пока он не нажмет клавишу, а нужно чтоб по истечению 2 секунд, если никакая кнопка не нажата то программа выходила из цикла 2

Добавлено через 32 секунды
Цитата Сообщение от accept Посмотреть сообщение
под линем select() для stdin'а
не, у меня win

Добавлено через 11 часов 49 минут
обычными средствами я так понимаю не получится этого сделать, может тогда использовать потоки/процессы как нибудь?
Yandex
Объявления
26.09.2010, 23:27     Автоматический выход из цикла.
Ответ Создать тему
Опции темы

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