Surprise Napisano Kwiecień 11, 2019 Autor Zgłoś Napisano Kwiecień 11, 2019 Mam sobie takie problemi. Mały bo mały ale zawsze coś... Są sobie takie dwie strukturki - SYSTEMTIME, wypełnione dwoma datami. Chcę żeby jakaś funkcja ładniutko mi wyświetliła ile dni te dwie daty dzieli. Czy ktoś zna taką funkcję, a może napisze jakąś dla mnie.. PLISSS... Cytuj
Complex Napisano Kwiecień 11, 2019 Zgłoś Napisano Kwiecień 11, 2019 To Ci sie moze przydać :) reszta to tylko petla iteracyjna i masz gotowe algo. Powodzenia :) int fYearLeap(int year) { if((year%4) != 0) return 0; else if((year%400) == 0) return 1; else if((year%100) == 0)return 0; return 1; } int fGetNrdayofmonth(int month, int year) { if(month == 1 || month == 3 || month == 5 ||month == 7 || month == 8 || month == 10 || month == 12) { return 31; } if(month == 4 || month == 6 || month == 9 || month == 11) { return 30; } if(month == 2 && fYearLeap(year) == 1) { return 29; } else { return 28; } } Cytuj
Surprise Napisano Kwiecień 11, 2019 Autor Zgłoś Napisano Kwiecień 11, 2019 Dzięki mistrzu.. To rzeczywiście może sieprzydać. Cytuj
Randal Napisano Kwiecień 15, 2019 Zgłoś Napisano Kwiecień 15, 2019 A ja swego czasu napisalem taka procedurke: // zwraca liczbe dni pomiedzy dwoma datami int RoznicaDat(DATA_CZAS *in2, DATA_CZAS *in1) { DATA_CZAS temp; int sum1, sum2; int a, b; // in1 musi byc wczesniej niz in2 if(in1->rok > in2->rok) return -1; if(in1->rok == in2->rok) { if(in1->miesiac > in2->miesiac) return -1; if(in1->miesiac == in2->miesiac) if(in1->dzien > in2->dzien) return -1; } memcpy(&temp, in1, sizeof(DATA_CZAS)); // oblicz sume dni in1 sum1 = in1->dzien; for(a = 0; a < in1->miesiac - 1; a++) sum1 += ((!(in1->rok % 4)) && (a == 1)) ? 29 : maxdni[a]; for(a = 0; a < in1->rok; a++) sum1 += (a % 4) ? 365 : 366; // oblicz sume dni in2 sum2 = in2->dzien; for(a = 0; a < in2->miesiac - 1; a++) sum2 += ((!(in2->rok % 4)) && (a == 1)) ? 29 : maxdni[a]; for(a = 0; a < in2->rok; a++) sum2 += (a % 4) ? 365 : 366; return sum2 - sum1; } maxdni to tablica 12-elementowa int z iloscia dni poszczegolnych miesiecy (luty = 28 ) Niby dziala Cytuj
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.