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

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

Войти
Регистрация
Восстановить пароль
 
fortero
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 15
#1

Ожидать... - C++

20.06.2010, 05:08. Просмотров 610. Ответов 11
Метки нет (Все метки)

Доброй ночи Господа!
Есть необходимость вот в чём: нужно что бы выполнение программы в определённое время останавливалось на энное время, например
C++
1
2
3
4
5
6
setlocale(LC_ALL, ".1251");
cout << "Нажмите любую клавишу и подаждите 30 секунд...\n";
_getch();
 
cout << "Программа выполнена нажмите любую клавижу...";
_getch();
После того как пользователь нажмёт любую клавишу программа должна выждать 30 секунд, как это сделать? При помощи какой функции?
За ранние спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2010, 05:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ожидать... (C++):

ожидать нажатия пробела иначе, продолжать работать - C++
no getch Проблема такая есть функия ibhit она проверяет наличие в буфере нажатых клавиш. Алгоритм не останавливается на проходе этой...

При вводе вместо цифр символов программа перестаёт ожидать ввода на следующей итерации цикла. Почему? - C++
Почему это происходит? #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); void...

Ожидать событие от Com-port - КИП, датчики
Доброго времени суток! Есть такая задача: Запросить у прибора состояние кнопок, получить ответ и в соответствии с этим обработать...

Ожидать выполнение запроса - C#
У меня есть запрос, который выполняется довольно долго (несколько минут). Как мне отключить таймаут у переменной с командой? Чтобы в это...

Ожидать наступление события - C#
Выполняется метод(Проверка правильности расстановки компонентов по форме). Необходимо приостановить выполнение метода до наступления...

Ожидать завершения запущенного процесса - Visual Basic .NET
Здравствуйте, хотел вот что спросить: &quot;У меня при нажатие на кнопку, программа ссылается на bat файл например и вот как бы сделать чтобы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.06.2010, 05:28 #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <windows.h>
 
int main(){
    std::cout << "Press enter...";
    std::cin.get();
    Sleep(30000);
    std::cout << "Good bye!" << std::endl;
    return 0;
}
fortero
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 15
20.06.2010, 11:44  [ТС] #3
Спасибо за помощь, а если прийдётся компелить под Linux, FreeBSD какой заголовочный файл использовать вместо #include <windows.h> ???
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.06.2010, 13:42 #4
fortero,
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <unistd.h>
 
int main(void){
    printf("Press enter...");
    getchar();
    sleep(30);
    printf("Good bye!\n");
    return 0;
}
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
20.06.2010, 16:20 #5
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <windows.h>
 
int main(){
    std::cout << "Press enter...";
    std::cin.get();
    Sleep(30000);
    std::cout << "Good bye!" << std::endl;
    return 0;
}
а как сделать чтоб показывало сколько времени осталось ожидать?
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
20.06.2010, 16:51 #6
Цитата Сообщение от Sanu0074 Посмотреть сообщение
а как сделать чтоб показывало сколько времени осталось ожидать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <windows.h>
 
int main(){
        std::cout << "Press enter...";
        std::cin.get();
for(int i=30; i>0; i--)
{
std::cout<<"Time to shutdown "<<i<<" seconds"<<std::endl;
        Sleep(1000);
}
        std::cout << "Good bye!" << std::endl;
        return 0;
}
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
20.06.2010, 17:06 #7
Цитата Сообщение от Mur3ik Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <windows.h>
 
int main(){
        std::cout << "Press enter...";
        std::cin.get();
for(int i=30; i>0; i--)
{
std::cout<<"Time to shutdown "<<i<<" seconds"<<std::endl;
        Sleep(1000);
}
        std::cout << "Good bye!" << std::endl;
        return 0;
}

а чтобы как таймер работало, чтоб строка невыводилась каждую секунду, а обновлялся экран?
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
20.06.2010, 17:15 #8
Цитата Сообщение от Sanu0074 Посмотреть сообщение
а чтобы как таймер работало, чтоб строка невыводилась каждую секунду, а обновлялся экран?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
 
int main(){
        std::cout << "Press enter...";
        std::cin.get();
for(int i=30; i>0; i--)
{
system("cls");
std::cout<<"Time to shutdown "<<i<<" seconds"<<std::endl;
        Sleep(1000);
}
        std::cout << "Good bye!" << std::endl;
        return 0;
}
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
20.06.2010, 17:16 #9
Цитата Сообщение от Mur3ik Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
 
int main(){
        std::cout << "Press enter...";
        std::cin.get();
for(int i=30; i>0; i--)
{
system("cls");
std::cout<<"Time to shutdown "<<i<<" seconds"<<std::endl;
        Sleep(1000);
}
        std::cout << "Good bye!" << std::endl;
        return 0;
}
system("cls") - очищает весь экран, а нужно только то что в цикле!
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
20.06.2010, 17:28 #10
Цитата Сообщение от Sanu0074 Посмотреть сообщение
system("cls") - очищает весь экран, а нужно только то что в цикле!
можно извратится так...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <windows.h>
 
int main(){
        std::cout << "Press enter...";
        std::cin.get();
for(int i=30; i>0; i--)
{
std::cout<<"Time to shutdown "<<i<<" seconds ";
        Sleep(1000);
        for(int i=0; i<=27;i++)
        std::cout<<"\b";
        if(i==1)
            std::cout<<std::endl;
}
        std::cout << "Good bye!" << std::endl;
        return 0;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.06.2010, 17:29 #11
Цитата Сообщение от Sanu0074 Посмотреть сообщение
а чтобы как таймер работало, чтоб строка невыводилась каждую секунду, а обновлялся экран?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <unistd.h>
 
int main(){
    const int DELAY = 30;
    
    std::cout << "Press enter...";
    std::cin.get();
    std::cout << "Remaining to shutdown: " << DELAY;
    for ( int cnt = DELAY; cnt > 0; --cnt ){
        std::cout << "\b\b" << std::setw(2) << std::setfill('0') << cnt;
        std::cout.flush();
        sleep(1);
    }
    std::cout << "\nGood bye!" << std::endl;
    
    return 0;
}
Придумайте, как под виндовс переделать
fortero
0 / 0 / 0
Регистрация: 21.02.2010
Сообщений: 15
20.06.2010, 20:20  [ТС] #12
Шикарно Господа!
Я пальщён, огромное спасибо!
А можно вопрос не по теме темы, а как сделать что бы при запуске программы ну скажим вот такой:
C++
1
2
3
4
5
6
7
8
9
void main(void)
{
 
for(int a=0;a < 1;)
{
cout << "Hello...\n";
Sleep(1000);
 
}
Нужно, что бы фраза на экран не выводилась, и вообще программа запустилась прозрачно даже чёрное консольное окно не появилось, как сделать что программы скрыто работали?
Точней это не вирус тут тайны не нужны, но что бы на экран нечего не выводилось а программа работала себе и работала среди процессов…
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2010, 20:20
Привет! Вот еще темы с ответами:

Ожидать завершения стороннего процесса - Visual Basic .NET
здравствуйте. задача: 1. запустить консольную утилиту с определёнными параметрами ком. строки и перенаправить её вывод в файл 2....

<table><tr><td> не работает как и следовало ожидать - HTML, CSS
Я работаю над страницой регистрации и попала в переплет. Так, проблема такая... я хочу создать упорядоченную таблицу (где игроки...

Не получается остановить Twin и ожидать клика - Flash
Не получается остановить Twin и ожидать клика: Вставляю в последний кадр код: stop(); on(click){getURL(&quot;i_about.aspx&quot;)} ...

Будет ли скрипт ожидать выполнение AJAX-запроса? - JavaScript
такой вопрос В javascripte обращаешься ajax к контроллу,javascript однопоточный,будет ли он ждать возрата ответа ,или пойдет дальше...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2010, 20:20
Ответ Создать тему
Опции темы

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