Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4

Алгоритм программы

30.07.2009, 18:36. Показов 3481. Ответов 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)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.07.2009, 18:36
Ответы с готовыми решениями:

Построить алгоритм программы
#include &lt;iostream.h&gt; int main() { int n; cout &lt;&lt; &quot;Vvedite kol-vo cifer&quot; &lt;&lt;endl; cin &gt;&gt; n; char name; ...

Алгоритм для программы
Как сделать алгоритм для этой программы: #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; int main() { double a;...

Пошаговый алгоритм выполнения программы
Составьте пожалуйста пошаговый алгоритм выполнения( тема : Перегрузка операций - тут бинарное сложение) #include &lt;iostream&gt; ...

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

Добавлено через 23 секунды
Неясно зачем тут <iostream>
0
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
30.07.2009, 18:52  [ТС]
ок, что такое
struct tm targetDate;
и
memset(&targetDate, 0, sizeof(targetDate));
0
 Аватар для Sekt
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
30.07.2009, 21:30
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
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 4
30.07.2009, 22:04  [ТС]
struct tm targetDate; - это понял, спасибо,а с memset(&targetDate, 0, sizeof(targetDate)); так и догнал...
можна расказать именно на моем примере..плз=)

И еще что такое reurn 0, почему возвращаем ноль, что это значит... извините за тупые вопросы, но я нуб, а этот код нужно разобрать до меолчей
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
30.07.2009, 23:07
return 0 - стандартный код успешного завершения программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.07.2009, 23:07
Помогаю со студенческими работами здесь

Алгоритм DTW, отладка программы
при запуске коды выдает ошибки С2440 (в строках 93,98,103...133) #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include...

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

Написать алгоритм работы программы
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;ctime&gt; using namespace std; int main() { char b; int k; ...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru