Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 19.11.2019
Сообщений: 193
1

Заполнить структуру данных хранения текущего времени

22.02.2020, 16:19. Показов 1944. Ответов 2

Author24 — интернет-сервис помощи студентам
Записать и заполнить структуру данных хранения текущего времени (включая
секунды) и даты в Наиболее компактно виде, Используя перечисления,
объединения и др. типы данных. Определить объем памяти, занимаемой
структурой данных. Вывести дату в текстовом виде.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <conio.h>
#include <iostream>
#include <time.h>
#pragma execution_character_set("utf-8")
 
using namespace std;
 
struct TTime {
    unsigned short nMonthDay : 6;
    unsigned short nMonth : 5;
    unsigned short nYear : 8;
    unsigned short hours : 5;
    unsigned short minutes : 4;
    unsigned short second : 4;
}*Tiime = NULL;
TTime tmp;
int num;
void add_Tiime()
{
    int add_num, new_num;
    getchar();
    new_num = 1;
    TTime* new_Tiime = (TTime*)malloc((new_num) * sizeof(TTime));
    for (int i = 0; i < num; i++)
        new_Tiime[i] = Tiime[i];
    free(Tiime);
    Tiime = new_Tiime;
    for (int i = num; i < new_num; i++)
    {
        printf("Рік - ");
        scanf_s("%s", Tiime[i].nYear);
 
        printf("Місяць - ");
        scanf_s("%s", Tiime[i].nMonth);
 
 
        printf("День - ");
        scanf_s("%s", Tiime[i].nMonthDay);
 
        printf("Години - ");
        scanf_s("%s", Tiime[i].hours);
 
        printf("Хвилини  - ");
        scanf_s("%s", Tiime[i].minutes);
 
        printf("Секунди  - ");
        scanf_s("%s", Tiime[i].second);
    }
    num = new_num;
}
void print_Tiime() {
    printf("\n\t\t\tВИВЕДЕННЯ МАСИВУ СТРУКТУР НА ЕКРАН\n");
    if (num == 0)
        printf("\t-Спочатку внесіть в структуру записи!\n");
    for (int i = 0; i < num; i++)
    {
        printf("\nДата і час - %d.%d.%d %d.%d.%d\n", Tiime[i].nMonthDay, Tiime[i].nMonth, Tiime[i].nYear, Tiime[i].hours, Tiime[i].minutes, Tiime[i].second);
    }
}
void InitTime()
{
 
    time_t t;
    time(&t);
 
    tm* local = localtime(&t);
 
 
    char Hours[10] = { 0 };
    char Minutes[10] = { 0 };
    char Date[20] = { 0 };
    strftime(Hours, sizeof(Hours) / sizeof(Hours[0]), "%H", local);
    strftime(Minutes, sizeof(Minutes) / sizeof(Minutes[0]), "%M", local);
    strftime(Date, sizeof(Date) / sizeof(Date[0]), "%d %B %Y", local);
 
    cout << "Текущее время и дата: " << Hours << ":" << Minutes << " " << Date << endl;
}
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int c, a = 1;
    do {
        system("cls");
        printf("МЕНЮ\n\n\n1)писати дату ;\n2) вивести час в ручну;\n3) вивести час автоматично;\n");
        scanf_s("%d", &c);
        switch (c) {
        case 0: a = 0; break;
        case 1:add_Tiime(); break;
        case 2:print_Tiime();
            printf("%d", sizeof TTime);
            printf("%d", sizeof Tiime);
            break;
            case 3:  InitTime(); break;
        default: printf("Помилка: Невірне значення!\n"); break;
        }
    } while (a != 0);
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2020, 16:19
Ответы с готовыми решениями:

Какую структуру хранения данных выбрать?
Подскажите как правильно организовать хранение данных для следующего случая. Предположим есть...

Как правильно организовать структуру хранения данных
Добрый день! Прошу совета по базам данных. есть задача логистики деталей со склада на участок и...

Обработка данных текущего времени
Здравствуйте. Подскажите пожалуйста, как обработать данные текущего времени, то есть например...

Реализовать структуру данных для хранения координат прямоугольника
Ребята, помогите... Зачет по ОПП. Задание - реализовать структуру данных для хранения координат...

2
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,358
22.02.2020, 17:16 2
Лучший ответ Сообщение было отмечено Bohdan2 как решение

Решение

используешь 32 бита, а указываешь short )
Цитата Сообщение от Bohdan2 Посмотреть сообщение
struct TTime
{
    uint32_t nMonthDay : 6;
    uint32_t nMonth : 5;
    uint32_t nYear : 8;
    uint32_t hours : 5;
    uint32_t minutes : 4;
    uint32_t second : 4;
};
(подправил, сам лишних хвостов нарисовал)

Добавлено через 7 минут
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
#include <iostream>
#include <stdint.h>
 
struct TTime1
{
    uint32_t nMonthDay : 6;
    uint32_t nMonth : 5;
    uint32_t nYear : 8;
    uint32_t hours : 5;
    uint32_t minutes : 4;
    uint32_t second : 4;
};
 
struct TTime2
{
    unsigned short nMonthDay : 6;
    unsigned short nMonth : 5;
    unsigned short nYear : 8;
    unsigned short hours : 5;
    unsigned short minutes : 4;
    unsigned short second : 4;
};
 
int main()
{
    std::cout<<sizeof(TTime1)<<'\n'<<sizeof(TTime2)<<'\n';
 
    return 0;
}
вывод:
4
6
1
2 / 2 / 0
Регистрация: 19.11.2019
Сообщений: 193
22.02.2020, 17:28  [ТС] 3
Цитата Сообщение от Алексей1153 Посмотреть сообщение
вывод:
4
6
Благодарю
0
22.02.2020, 17:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2020, 17:28
Помогаю со студенческими работами здесь

Описать, используя структуру данных запись, камеру хранения
Ребят,помогите,пожалуйста Нужно написать программу,паскаль Описать, используя структуру данных...

Для хранения данных о ноутбуках описать структуру NOTEBOOK
Для хранения данных о ноутбуках описать структуру вида (при необходимости дополнив ее): ...

Занесение данных текущего времени в переменную
здравствуйте! подскажите пожалуйста как определить текущее время телефона (часы и минуты) и...

Организовать структуру данных Heap для хранения целых чисел
Помогите пожалуйста решить задачую Заранее спасибо! В этой задаче вам необходимо организовать...

Необходимо выбрать структуру (список, К-Ч дерево и т.д) для хранения данных
Решил описать задачку здесь, может кому тоже интересно будет, такие не каждый день на выдумывание...

Необходимо реализовать структуру для хранения данных в виде бинарного дерева
Ассоциативный массив должен храниться в виде бинарного дерева


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru