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

Программа-таймер (отсчитывает определенное время) - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
03.07.2013, 18:58     Программа-таймер (отсчитывает определенное время) #1
Нужно написать программу, вот задача:

Программа должна отсчитывать определённое количество времени(это время мы будем вводить)
Программа задаёт вопрос сколько времени отсчитать
допустим мы вводим 50 (в секундах)
И программа будет отсчитывать 50 секунд

Помогите написать пожалуйста!

Добавлено через 15 минут
Спасибо (хз кому), но я уже сам написал Вот исходник, вдруг кому нужен будет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
double x;
cout << "Введи время в секундах: " << endl;
cin >> x;
for (x = 1; x <= 60; ++x) {
cout << "Секунды: " << x
<< endl;
}
system ("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 18:58     Программа-таймер (отсчитывает определенное время)
Посмотрите здесь:

C++ Нажатие клавиш за определенное время
На какой отметке остановится мотоциклист через определенное время? C++
Очистка экрана в консоли через определенное время C++
Завершение бесконечного цикла через определенное время C++
C++ Программа подачи компьютеру сигнала shutdown в определенное системное время
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
08.07.2013, 04:01     Программа-таймер (отсчитывает определенное время) #21
C++
1
2
3
4
5
6
7
8
9
10
11
12
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int a;
cout << "Введите секунды - ";
cin >> a;
Sleep(1000*a); //1 секунда = 1000 мс
 
cout << "\n";
system("PAUSE");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.07.2013, 08:57     Программа-таймер (отсчитывает определенное время) #22
Цитата Сообщение от xtorne21st Посмотреть сообщение
П.С. Если быть точнее - допустим, но выкидывает исключение
-pthread надеюсь прилинкован?
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
08.07.2013, 13:43     Программа-таймер (отсчитывает определенное время) #23
Цитата Сообщение от ForEveR Посмотреть сообщение
-pthread надеюсь прилинкован?
Это многое меняет!

Добавлено через 10 минут
ForEveR, хотя, например, вот этот код по-прежнему работает не так как надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <thread>
#include <chrono>
 
int main()
{
    std::cout << "Введи время в секундах: -> ";
    size_t seconds;
    std::cin>>seconds;
    while (seconds)
    {
       std::this_thread::sleep_for(std::chrono::seconds(1));
       std::cout << "Секунды: " << --seconds << " ";
    }
    
    return 0;
}
Добавлено через 1 минуту
Без нативных средств синхронизации IO в линукс, к сожалению, не обойтись. Имхо.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.07.2013, 13:58     Программа-таймер (отсчитывает определенное время) #24
Он работает верно. Ибо нет flush. Вот так будет работать как хотелось

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <thread>
#include <chrono>
 
int main()
{
    std::cout << "Введи время в секундах: -> ";
    size_t seconds;
    std::cin>>seconds;
    while (seconds)
    {
       std::this_thread::sleep_for(std::chrono::seconds(1));
       std::cout << "Секунды: " << --seconds << " " << std::endl;
    }
    
    return 0;
}
Ну или просто можно вызвать flush
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
08.07.2013, 14:42     Программа-таймер (отсчитывает определенное время) #25
ForEveR, тогда подскажите, почему в windows этот же код работает по другому? (как и ожидается от программы). Имеется ввиду вот этот вот: Программа-таймер (отсчитывает определенное время)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.07.2013, 15:02     Программа-таймер (отсчитывает определенное время) #26
xtorne21st, А тут уже нужно читать стандарт. Если есть желание - вперед.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2013, 15:53     Программа-таймер (отсчитывает определенное время)
Еще ссылки по теме:

C++ Изменить значение переменной через определенное время
C++ Подсчитать количество за определенное прошедшее время
Выполнение функции в определенное системное время C++

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

Или воспользуйтесь поиском по форуму:
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
08.07.2013, 15:53     Программа-таймер (отсчитывает определенное время) #27
не могу не предложить свой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <Windows.h>
using namespace std;
 
 
int main()
{
    time_t a;
    cin>>a;
    time_t in = time(NULL);
    while((time(NULL)-in)<a)
    {
        Sleep(1);
    }
    cout<<a<<" seconds are elapsed\n";
    system("pause");
    return 0;
}
Yandex
Объявления
08.07.2013, 15:53     Программа-таймер (отсчитывает определенное время)
Ответ Создать тему
Опции темы

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