Помогите с кодом
Вот код:
#include
#include
using namespace std;
int main()
{
time_t rawtime;
struct tm * timeinfo;
int day, year, month;
char str[256];
setlocale(LC_ALL, "Russian");
cout << "Введите дату" << endl;
cin.getline(str, sizeof(str));
time(&rawtime);
timeinfo = localtime(&rawtime);
timeinfo->tm_year = year;
timeinfo->tm_mon = month;
timeinfo->tm_mday = day;
mktime(timeinfo);
strftime(str, sizeof(str),"%A", timeinfo);
cout << str << endl;
return 0;
}
Как сделать так чтоб дни недели выводились на русском?
Ответы
Ответ:
#include <iostream>
#include <time.h>
using namespace std;
int main() {
time_t rawtime;
tm timeinfo;
int day, year, month;
char str[256];
setlocale (LC_ALL, "Russian");
cout << "Введите дату: день, месяц, год: " << endl;
cin >> day >> month >> year;
time (&rawtime); // получить текущее время
localtime_s (&timeinfo, &rawtime); // заполнить структуру timeinfo значениями текущего времени
timeinfo.tm_year = year - 1900; // база 1900
timeinfo.tm_mon = month - 1; // база 0
timeinfo.tm_mday = day; // база 1
rawtime = mktime (&timeinfo); // для установки значения дня недели в timeinfo
strftime (str, sizeof(str), "%A", &timeinfo); // получить день недели
cout << str << endl;
return 0;
}
Объяснение: см. комментарии