Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Получение/установка системной даты ⇐ ПредыдущаяСтр 4 из 4
void getdate(struct date *pdate); void setdate(struct date *pdate); В обоих случаях структура *pdate должна быть подготовлена заранее.
Получение/установка системного времени
void gettime(struct date *ptime); void setdate(struct date *ptime); В обоих случаях структура *ptime должна быть подготовлена заранее.
Установка системной даты и времени по секундам
int stime(time_t *t); Секунды *t считаются после 01/01/1970, 00:00:00. Функция возвращает 0.
Функции задержки
void delay(unsigned msec); Задерживает работу исполняемой программы на msec миллисекунд. Функция работает с точностью до миллисекунды. Максимальное время задержки примерно 65 void sleep(unsigned sec); Задерживает работу исполняемой программы на sec секунд. Максимальное время задержки 65535 сек, около 18 часов. Схема взаимодействия функций времени
Поясним на рисунке, как связаны между собой функции времени.
Рис. Взаимодействие функций времени
Пример. В какой день недели вы родились?
#include <stdio.h> #include <time.h> char *wday[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Unknown"}; int main(void) { struct tm time_check; int year, month, day; /* Введите год, месяц и день для определения дня недели*/ printf("Год: "); scanf("%d", &year); printf("Месяц: "); scanf("%d", &month); printf("День: "); scanf("%d", &day); /* Заполнение структуры time_check данными */ time_check.tm_year = year - 1900; time_check.tm_mon = month - 1; time_check.tm_mday = day; time_check.tm_hour = 0; time_check.tm_min = 0; time_check.tm_sec = 1; time_check.tm_isdst = -1; /* вызов mktime для заполнения поля weekday структуры time_check с проверкой даты на корректность */ if (mktime(&time_check) == -1 || time_check.year!= year || time_check.mon!= mon || time_check.day!= day) time_check.tm_wday = 7; /* Печать дня недели */ printf("День недели: %s\n", wday[time_check.tm_wday]); return 0; } 2. Контрольные вопросы и задания
1. Какую максимальную дату можно установить в качестве системного времени в DOS? 2. Как измерить приближенное время выполнения цикла for(int i=0; i<100; i++) ; 3. Как определить количество дней между двумя датами? 4. Как определить количество секунд которые прожил человек до настоящего времени. 5. Напишите функцию char * asctimerus(struct tm *timeptr); которая по структуре *timeptr возвращает строку с датой и временем на русском языке в формате “17 августа 2007 14:47:12” 3. Лабораторные задания
День недели
Написать функцию, которая получает дату из стандартного диапазона, и возвращает номер дня недели этой даты. Организовать проверку корректности введенной даты.
3.2. Не думай о секундах свысока …
Написать программу, в которой вводится дата рождения студента из стандартного диапазона, и на экран выводится количество прожитых этим студентом секунд. Информация должна выводиться в графическом режиме и обновляться ежесекундно. Организовать проверку корректности введенной даты.
Профилирование кода
Определить время выполнения цикла, в котором производится вычисление суммы целых чисел от 1 до 1000. 4. Дополнительные задания
1. Определите день недели произвольной даты в пределах от -32 000 – го до нашей эры до 32 000 – го года нашей эры. Использовать правило «4-100-400» определения високосного года. 2. Программа выводит системную дату и системное время. В случае некорректных данных системная информация изменяется. 3. Нарисуйте циферблат с тремя стрелками, который показывает текущее системное время. 4. Напишите функцию, которая возвращает строку с русским обозначением даты. Например «5 августа 2006г., пнд». Библиографический список 1. Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си: Задачи по языку Си. М.: Финансы и статистика, 1985. – 192с. 2. Керниган Б., Ритчи Д. Язык программирования Си. М.:Финансы и статистика, 1992. - 272с. 3. Подбельский В. В., Фомин С. С. Программирование на языке Си. Учеб.пособие. М.: Финансы и статистика, 2004. 600 с.
|
|||||
Последнее изменение этой страницы: 2020-03-14; просмотров: 77; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.16.254 (0.005 с.) |