Спроектувати програму, яка б використовувала бібліотеку ctime, структуру tm, тип даних time_t та будь-які функції цієї бібліотеки. С++
Створити файл, який зберігає назву товару, дату і час виробництва. Знайти товари, строк яких більше 2 років.
Ответы
Ответ:
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
int main() {
// відкриваємо файл для зчитування
ifstream file("products.txt");
// перевіряємо, чи файл відкрито успішно
if (!file) {
cerr << "Не вдалося відкрити файл" << endl;
return 1;
}
// отримуємо поточний час
time_t now = time(nullptr);
// проходимо по файлу
string name;
time_t production_time;
while (file >> name >> production_time) {
// конвертуємо час виробництва у структуру tm
struct tm* ptm = localtime(&production_time);
// порівнюємо рік виробництва з поточним роком
if (ptm->tm_year < (1900 + (now - (2 * 365 * 24 * 60 * 60)) / (365 * 24 * 60 * 60))) {
cout << name << endl;
}
}
// закриваємо файл
file.close();
return 0;
}
Объяснение:
Ми будемо зберігати дату та час виробництва кожного товару у вигляді time_t значення. За допомогою функції localtime ми можемо конвертувати це значення у структуру tm, щоб дізнатися рік виробництва товару.
Потім ми можемо порівняти рік виробництва кожного товару з поточним роком, щоб знайти товари, строк яких більше 2 років.