Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
#1

Секундный отсчет - C++

12.02.2010, 08:44. Просмотров 2150. Ответов 15
Метки нет (Все метки)

Привет всем. Как мне сделать отсчет времени, чтобы на экран выводилось 1 2 3 .... каждую секунду
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2010, 08:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Секундный отсчет (C++):

Отсчет времени - C++
Собственно, нужно реализовать отсчет времени, сколько работает программа и вывести в лэйбл, как это реализовать?

Отсчет времени - C++
Здравствуйте. Возможно ли отсчитывать время в c++(в сек или 1/1000 сек), например при ожидании функции getch() нажатия кнопки? Если да, то...

Отсчет временного интервала - C++
На прокатном стане объект попадает под первый фотодатчик и начинается отсчет времени, а когда он достигает второго фотодатчика, то...

Отсчет времени до даты - C++
Нужна программа, которая будет каждую секунду выводить на экран время до 28 июля 2010 года. Заранее спасибо)

Изменить отсчет углов в системе координат - C++
Как изменить отсчет углов в системе координат С++(v.4.5)?

Заданы два натуральных числа. Вычислить порядковый номер даты, начиная отсчет с начала года - C++
Заданы два натуральных числа a,b которые обозначают число и месяц не високосного года. Вычислить порядковый номер даты, начиная отсчет с...

15
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.02.2010, 09:18 #2
C++
1
2
3
4
5
6
  int start,end,q=1;
start=clock();
...
end=clock();
  if (((end-start)/CLK_TCK)==1)
    cout<<q++;
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
12.02.2010, 09:26  [ТС] #3
и что здесь происходит? что за "..."

Добавлено через 35 секунд
что такое CLK_TCK

Добавлено через 3 минуты
что эта за функция clock() которая возвращает "60" постоянно

Добавлено через 23 секунды
Darky, объясни пожалуйтса
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.02.2010, 09:28 #4
... - программа в лаконичном ее исполнении.
CLK_TCK - это определенная константа, служащая для перевода неопределенных "часовых значений" в секунды. В более новых компиляторах обозначается как
CLOCKS_PER_SEC
Вообще, приведенный шаблон в сочетании с
C++
1
(end-start)/CLK_TCK)
используется для замера времени в программе.
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
12.02.2010, 09:29  [ТС] #5
мне не нужен замер времени, мне нужно в реальном времени показывать каждую секунду сообщение
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.02.2010, 09:30 #6
А как иначе ты определишь, когда прошла секунда, не замерив время?
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
12.02.2010, 09:40  [ТС] #7
а в с/с++ разве нет такой возможности?

Добавлено через 7 минут
Вроде нашел решение)
C++
1
2
3
4
5
6
7
8
unsigned int time_beg = (unsigned int)time(NULL);
unsigned int time_cur = time_beg;
while(((unsigned int)time(NULL) - time_beg) < 10){
    if((unsigned int)time(NULL) - time_cur == 1){
    time_cur = (unsigned int)time(NULL);
    cout << "\n13";
    }
}
0
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.02.2010, 18:10 #8
Ну или Sleep(1000), если под виндой.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,341
Завершенные тесты: 1
12.02.2010, 22:32 #9
хмм..а если просто слиип юзать...
C++
1
2
3
4
5
6
7
8
int c=0;//секунды
int i=0;//счетчик
cin>>c;//выводим сколько секунд
while(i!=c){
++i;
Sleep(1000);//1000=1 sec
cout<<i<<endl;//выводим каждую секунду с новой строки
}
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
15.02.2010, 01:19  [ТС] #10
Nick Alte, не знаю у меня это и под виндой работает.

МедведЪ, что возврает Sleep(1000) ?

Добавлено через 43 секунды
и я не знаю заранее сколько будет работать программа.
0
Metal_666_
15 / 15 / 2
Регистрация: 19.10.2009
Сообщений: 187
15.02.2010, 01:27 #11
Sleep можно сказать приостанавливает действие программы на число милисекунд(вроде мили) заданное в скобках. Таким образом он будет выводить число от 0 до С каждые 1000 мс или 1 секунды
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
15.02.2010, 01:31  [ТС] #12
понятно) буду знать - СПАСИБО ВСЕМ ОТОЗВАВШИМСЯ)
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.02.2010, 08:55 #13
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void WaitSec(int n);
 
int main(void) /* C89 ANSI */
{
    WaitSec(3);
 
    putchar('x');
    fflush(stdout);
    
    WaitSec(5);
    
    putchar('x');
    fflush(stdout);
    
    WaitSec(10);
    
    putchar('y');
    fflush(stdout);
    
    exit(EXIT_SUCCESS);
}
 
void WaitSec(int n)
{
    time_t t1, t2;
    
    time(&t1);
    do
        time(&t2);
    while ((int) difftime(t2, t1) <= n);
}
без проверок time()
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
15.02.2010, 08:57  [ТС] #14
accept, а можно с коментариями пожалуйста
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.02.2010, 10:17 #15
C
1
2
3
4
5
6
7
8
9
10
11
12
/* WaitSec:  производит задержку на n секунд */
void WaitSec(int n)
{
    time_t t1, t2; /* это знаковый тип, считай long int */
    
    time(&t1); /* в переменную t1 помещается количество секунд с 00:00:00 01.01.1970 */
    do
        time(&t2); /* в переменную t2 помещается количество секунд ... */
    while ((int) difftime(t2, t1) <= n);
    /* difftime возвращает double, из t2 вычитает t1
       double по ходу для того, чтобы большие значения возвращать */
}
0
15.02.2010, 10:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2010, 10:17
Привет! Вот еще темы с ответами:

Заданы число и месяц невисокосного года. Вычислить порядковый номер даты, начиная отсчет с начала года - C++
Заданы два натуральных числа a,b которые обозначают число и месяц не високосного года. Вычислить порядковый номер даты, начиная отсчет с...

Секундный тик - JavaScript
Как сделать секундный тик? К примеру есть числа 12 (это часы) 10(минут) 34(секунд) Как прибавлять секунды к цифре 34 постоянно?

Секундный маятник - Колебания и волны
С каким ускорением и в каком направлении должна двигаться кабина, чтобы находящийся в ней секундный маятник за время 2 мин 30 секунд...

1 секундный запуск - Материнские платы
foxconn h67m-s v2.0 Плата запускается (С КНОПКИ) и через секунду выключается, и дальше сама по себе стартует и тухнет. Грелся при...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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