Предмет: Информатика, автор: anastasiyafomina353

Спроектувати програму, яка б використовувала бібліотеку ctime, структуру tm, тип даних time_t та будь-які функції цієї бібліотеки. С++

Створити файл, який зберігає, назву товару, дату і час виробництва. Код з введенням. Знайти товари, строк яких більше 2 років. ​

Ответы

Автор ответа: shtaferukdanil
0

Ответ:

Объяснение:

#include <iostream>

#include <fstream>

#include <ctime>

using namespace std;

int main()

{

   // Відкриття файлу для зберігання даних про товари

   ofstream myfile("products.txt");

   // Перевірка, чи файл було успішно відкрито

   if (myfile.is_open())

   {

       // Запис назви товару

       myfile << "Product 1" << endl;

       // Отримання поточного часу та збереження його у змінну time_t

       time_t now = time(0);

       // Конвертація часу в структуру tm для збереження окремо дати та часу

       tm* ltm = localtime(&now);

       // Запис дати та часу виробництва у файл

       myfile << ltm->tm_mday << "/" << 1 + ltm->tm_mon << "/" << 1900 + ltm->tm_year << " " << ltm->tm_hour << ":" << ltm->tm_min << ":" << ltm->tm_sec << endl;

       // Закриття файлу

       myfile.close();

   }

   else

   {

       cout << "Unable to open file";

       return 1;

   }

   // Відкриття файлу для зчитування даних про товари

   ifstream readfile("products.txt");

   // Перевірка, чи файл було успішно відкрито

   if (readfile.is_open())

   {

       string line;

       while (getline(readfile, line))

       {

           // Читання назви товару та дати виробництва

           string product_name = line;

           getline(readfile, line);

           string date_str = line;

           // Конвертація дати виробництва в time_t

           tm tm_time = {};

           strptime(date_str.c_str(), "%d/%m/%Y %H:%M:%S", &tm_time);

           time_t production_time = mktime(&tm_time);

           // Обчислення різниці між поточним часом та часом виробництва товару

           time_t now = time(0);

           double diff_seconds = difftime(now, production_time);

           // Перевірка, чи товар був вироблений більше двох років тому

           if (diff_seconds > 60 * 60 * 24 * 365 * 2)

           {

               cout << "Product " << product_name << " has been produced more than 2 years ago." << endl;

           }

       }

       // Закриття файлу

       readfile

Похожие вопросы
Предмет: Английский язык, автор: olexandrix