Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
wirka
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
#1

Алгоритм программы - C++

30.07.2009, 18:36. Просмотров 1422. Ответов 8
Метки нет (Все метки)

Доброго времени суток. Есть программа, она выводит время до определенной даты
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
#include <time.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#ifdef WIN32
# define SLEEP(x) Sleep(x)
#else /* WIN32 */
# include <unistd.h>
# define SLEEP(x) usleep(x*1000)
#endif /* WIN32 */
#include <iostream>
#define _WIN32_WINNT 0x0500
 
int main()
{  
   struct tm targetDate; 
   memset(&targetDate, 0, sizeof(targetDate));
  
 //задаем дату
   targetDate.tm_year = 110; //год от 1900
   targetDate.tm_mon = 6; //месяц
   targetDate.tm_mday = 9; //день
   time_t tDate = mktime(&targetDate); //это указанная дата в секундах от 01.01.1970
   do{ 
       system ("cls");
       time_t curTime = time(NULL); //текущее время в секундах от 01.01.1970
       time_t dtime = tDate - curTime; //сколько осталось времени (в секундах, общее)
       time_t dsec = dtime%60; //сколько секунд осталось
       time_t dmin = (dtime/60)%60; //сколько минут осталось
       time_t dhour = ((dtime/60)/60)%24; //сколько часов осталось
       time_t ddays = ((dtime/60)/60)/24; //сколько дней осталось
       printf ("\n");
       printf ("   осталось %lu дн. %lu час. %lu мин. %lu сек.\n", (unsigned long) ddays, (unsigned long) dhour, (unsigned long) dmin, (unsigned long) dsec);
       SLEEP(1000); //ждем секунду
   } while (1);
   return 0;
}
тут такое дело нужно описать алгоритм действия и нарисовать блок схему...
Плиз хелп... опишите хотябы на словах(как можно подробнее алгоритм действия).
Что такое SLEEP(1000);
и почему while (1)
http://www.cyberforum.ru/cpp-beginners/thread871343.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2009, 18:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Алгоритм программы (C++):

Алгоритм для программы
Как сделать алгоритм для этой программы: #include &lt;conio.h&gt; #include...

Объяснить алгоритм работы программы
На чёрно-белом изображении размером A строк x B столбцов необходимо найти...

подробный алгоритм работы программы
#include&lt;iostream.h&gt; /*библиотека, отвечающая за потоковый ввод-вывод*/...

Пошаговый алгоритм выполнения программы
Составьте пожалуйста пошаговый алгоритм выполнения( тема : Перегрузка операций...

Написать алгоритм работы программы
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;ctime&gt; using namespace...

8
zim22
depict1
276 / 141 / 4
Регистрация: 11.07.2009
Сообщений: 606
30.07.2009, 18:40 #2
Цитата Сообщение от wirka Посмотреть сообщение
Что такое SLEEP(1000);
время задержки, в течении которого программа "виснет". 1000 мс = 1 секунда.
Цитата Сообщение от wirka Посмотреть сообщение
и почему while (1)
это вечный цикл. условие выхода помещается внутрь него.
0
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
30.07.2009, 18:43 #3
Что такое SLEEP(1000);
В коде ясно написано.
1
wirka
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
30.07.2009, 18:45  [ТС] #4
ну сэтим понятно, спс, а есле описать алгоритм действия программы на словах....(построчно)
0
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
30.07.2009, 18:50 #5
В цикле через 1 секунду выводит сколько дней,часов,минут и секунд осталось до заданной даты.

Добавлено через 23 секунды
Неясно зачем тут <iostream>
0
wirka
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
30.07.2009, 18:52  [ТС] #6
ок, что такое
struct tm targetDate;
и
memset(&targetDate, 0, sizeof(targetDate));
0
Sekt
157 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 637
30.07.2009, 21:30 #7
struct tm type
<ctime>


Time structure

Structure containing a calendar date and time broken down into its components.

The structure contains nine members of type int, which are (in any order):int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;



The meaning of each is:Member Meaning Range
tm_sec seconds after the minute 0-61*
tm_min minutes after the hour 0-59
tm_hour hours since midnight 0-23
tm_mday day of the month 1-31
tm_mon months since January 0-11
tm_year years since 1900
tm_wday days since Sunday 0-6
tm_yday days since January 1 0-365
tm_isdst Daylight Saving Time flag

The Daylight Saving Time flag (tm_isdst) is greater than zero if Daylight Saving Time is in effect, zero if Daylight Saving Time is not in effect, and less than zero if the information is not available.

* tm_sec is generally 0-59. Extra range to accommodate for leap seconds in certain systems.


targetDate-сам объект Struct'уры tm.Над которым и происходят различные действия.

Описание функций C (Си) / C++ - memset

#include требуется только для объявления
#include функции; использует либо
, либо

char *memset (dest, c, cnt);
char *dest; указатель на результат
int c; символ-заполнитель
unsigned cnt; количество символов

Описание.

Функция memset заполняет первые cnt байтов буфера dest сим-
волом c.

Возвращаемое значение.

Функция memset возвращает указатель на буфер dest.
См.также memccpy, memchr, memcmp, memcpy

Пример:

#
C++
1
2
3
4
5
include 
char buffer [100];
/* заполняет первые 100 байтов buffer
** нулями */
memset (buffer, '', 100);
0
wirka
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
30.07.2009, 22:04  [ТС] #8
struct tm targetDate; - это понял, спасибо,а с memset(&targetDate, 0, sizeof(targetDate)); так и догнал...
можна расказать именно на моем примере..плз=)

И еще что такое reurn 0, почему возвращаем ноль, что это значит... извините за тупые вопросы, но я нуб, а этот код нужно разобрать до меолчей
0
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
30.07.2009, 23:07 #9
return 0 - стандартный код успешного завершения программы.
0
30.07.2009, 23:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2009, 23:07
Привет! Вот еще темы с решениями:

Алгоритм и код программы (микрофотографии)
Помогите определить размер частиц, посчитать количество частиц, определить...

Не пойму алгоритм программы. Функция total
Вот сижу, читаю, не пойму почему в этом примере #include &lt;conio&gt; #include...

Трудность в создании программы на С++ линейный алгоритм
длина отрезка задана в дюймах(1 дюйм=2,54 см). перевести значения длины в...

Подскажите алгоритм организации программы-теста
Здравствуйте! Суть такова - у пользователя есть 8 вариантов ответа, он может...


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

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

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