привет Я пытаюсь рассчитать день рождения человека, используя дни входа пользователей. Я немного новичок в библиотеке ctime, но я придумал разницу между двумя датами, чтобы получить количество дней. Насколько мне известно, у меня есть ctime; Я знаю, что ctime имеет встроенную структуру tm, состоящую из min, secs, hour, day, month и year. Я попытался использовать asctime, чтобы поместить их в отдельных, но это сделало мою логику более запутанной. что я использую difftime, чтобы найти разницу между датами. Как так:расчет дня рождения в зависимости от количества дней ввода пользователем
struct tm a = { 0, 0, 0, 1, 1, 91 }; /* my birthday */
struct tm b = { 0, 0, 0, 3, 11, 114 }; /* today's date */
time_t x = mktime(&a);
time_t y = mktime(&b);
if (x != (time_t)(-1) && y != (time_t)(-1))
{
double days = difftime(y, x)/(60 * 60 * 24);
cout << ctime(&x);
cout << ctime(&y);
cout << "difference = " << days << " days" << endl;
}
Выход есть: differnce = 8706 дней
Проблема заключается в том, что пользователи входы 8706 дней, чтобы получить свой день рождения или свой день рождения. Этот код обратный, если это имеет смысл. Можете ли вы помочь мне разобраться в логике решения проблемы.
это немного, может быть, я не просил более подробно, но им ищет помощь; допустим, пользователь вводит количество дней с момента рождения, он должен выдать пользователям день рождения с сегодняшнего дня –
#include #include using namespace std; void main() { \t int days, day, month, year; \t cout << "Сколько вам лет?" Endl; \t cin >> days; \t год = дни/365; \t \t int Остальные = дни- (год * 365); \t \t месяц = остальные/30; \t \t Остальные = оставшиеся (месяц * 30); \t \t день = остаток; \t struct tm a = {0, 0, 0, 3-day, 11-month, 114-year};/* мой день рождения */ \t struct tm b = {0, 0, 0, 3, 11, 114};/* Текущая дата */ \t time_t х = указываете ей (&a); \t time_t у = указываете ей (&b); \t \t соиЬ << CTime (&x); \t \t соиЬ << CTime (&y); \t \t } может быть, этот код будет help и u можете использовать a.tmday и b.tmyear и т. д. –
yazan
спасибо большое, это было именно то, что мне нужно –