From 00a440f18ae67e2f09e66ef7a02490a52a4d3612 Mon Sep 17 00:00:00 2001 From: Numillyash <56932793+Numillyash@users.noreply.github.com> Date: Wed, 5 Oct 2022 17:29:51 +0300 Subject: [PATCH] first step --- Varya_Struct_02/Varya_Struct_02.c | 11 ++++++++++- Varya_Struct_02/db_struct.h | 26 +++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/Varya_Struct_02/Varya_Struct_02.c b/Varya_Struct_02/Varya_Struct_02.c index 933c802..c5fad88 100644 --- a/Varya_Struct_02/Varya_Struct_02.c +++ b/Varya_Struct_02/Varya_Struct_02.c @@ -1,10 +1,19 @@ // Varya_Struct_02.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы. // -#include +#include "db_struct.h" int main() { + time_t now = time(NULL); + char *stroks[20] = { "Test 1", "Test 2", "Test 3", "Test 4"}; + putElementToDB("Ulanovsky", "George", 2, 4, &now, &now, stroks, 3); + + putElementToDB("Baranova", "Varvara", 2, 1, &now, &now, stroks, 2); + + putElementToDB("Fidarov", "German", 2, 2, &now, &now, stroks, 4); + + printDataBase(); } // Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки" diff --git a/Varya_Struct_02/db_struct.h b/Varya_Struct_02/db_struct.h index f460300..f9671cf 100644 --- a/Varya_Struct_02/db_struct.h +++ b/Varya_Struct_02/db_struct.h @@ -11,13 +11,14 @@ typedef struct _dbElement time_t* start_tm; time_t* end_tm; char** result; + int result_count; struct _dbElement* nextElement; }DataBaseElement; DataBaseElement* head; uint64_t dataBaseSize = 0; -int putElementToDB(char* lastName, char* firstName, int course, int labID, time_t *startTime, time_t *endTime, char** results) +int putElementToDB(char* lastName, char* firstName, int course, int labID, time_t *startTime, time_t *endTime, char** results, int resultCount) { DataBaseElement* newElement = (DataBaseElement*)malloc(sizeof(DataBaseElement)); newElement->first_nm = firstName; @@ -27,6 +28,7 @@ int putElementToDB(char* lastName, char* firstName, int course, int labID, time_ newElement->result = results; newElement->start_tm = startTime; newElement->end_tm = endTime; + newElement->result_count = resultCount; newElement->nextElement = NULL; if (head != NULL) @@ -44,4 +46,26 @@ int putElementToDB(char* lastName, char* firstName, int course, int labID, time_ } dataBaseSize++; +} + +void printElement(DataBaseElement* elem) +{ + printf("Element:\n\tFirst name: %s\n\tLast name: %s\n\tCourse: %d\n\tLab number: %d\n\t", + elem->first_nm, elem->last_nm, elem->curse_id, elem->lab_id); + printf("%s\t", asctime(gmtime(elem->start_tm))); + printf("%s\tResults\n", asctime(gmtime(elem->end_tm))); + for (int i = 0; i < elem->result_count; i++) + { + printf("\t\t%s\n", elem->result[i]); + } +} + +void printDataBase() +{ + DataBaseElement* tmp = head; + while (tmp != NULL) + { + printElement(tmp); + tmp = tmp->nextElement; + } } \ No newline at end of file