if (month == 2) //şubat, artık yıl ise 29 yoksa 28 çeker { int n = check_leap_year(year); if (n == 1) return 29;
else return 28; } } long long int difference_of_days(int day1, int month1, int year1, int day2, int month2, int year2) //aynı tarihler için { if (year1 == year2) { if (month1 == month2) { if (day1 == day2) return 0; else return abs(day1 - day2); //aynı yıl, aynı ay ama farklı günler için } else if (month1 < month2) //aynı yıl, aynı gün ama farklı aylar için { int result = 0; for (int i = month1; i < month2; i++) result = result + no_of_days_in_month(i, year1);
if (day1 == day2) return result; else if (day1 < day2) { result = result + (day2 - day1); return result; } else { result = result - (day1 - day2); return result; } } else { int result = 0; for (int i = month2; i < month1; i++) result = result + no_of_days_in_month(i, year1);
if (day1 == day2) return result; else if (day2 < day1) { result = result + (day1 - day2); return result; } else { result = result - (day2 - day1); return result; } } } else if (year1 < year2) { int temp = 0; for (int i = year1; i < year2; i++) { if (check_leap_year(i)) temp = temp + 366; else temp = temp + 365; }
if (month1 == month2) //aynı ay, aynı gün ama farklı yıllar için { if (day1 == day2) return temp; else if (day1 < day2) return temp + (day2 - day1); else return temp - (day1 - day2); } else if (month1 < month2) { int result = 0; for (int i = month1; i < month2; i++) result = result + no_of_days_in_month(i, year2);
if (day1 == day2) //aynı gün, farklı yıl ve farklı ay için return temp + result; else if (day1 < day2) { result = result + (day2 - day1); return temp + result; } else { result = result - (day1 - day2); return temp + result; } } else { int result = 0; for (int i = month2; i < month1; i++) result = result + no_of_days_in_month(i, year2);
if (day1 == day2) return temp - result; else if (day2 < day1) { result = result + (day1 - day2); return temp - result; } else { result = result - (day2 - day1); return temp - result; } } } else { int temp = 0; for (int i = year2; i < year1; i++) { if (check_leap_year(i)) temp = temp + 366; else temp = temp + 365; }
if (month1 == month2) { if (day1 == day2) //aynı gün, aynı ay ama farklı yıl için return temp; else if (day2 < day1) return temp + (day1 - day2); else return temp - (day2 - day1); } else if (month2 < month1) { int result = 0; for (int i = month2; i < month1; i++) result = result + no_of_days_in_month(i, year1);
if (day1 == day2) return temp + result; else if (day2 < day1) { result = result + (day1 - day2); return temp + result; } else { result = result - (day2 - day1); return temp + result; } } else { int result = 0; for (int i = month1; i < month2; i++) result = result + no_of_days_in_month(i, year1);
if (day1 == day2) //aynı gün, farklı yıl ve farklı ay için return temp - result; else if (day1 < day2) { result = result + (day2 - day1); return temp - result; } else { result = result - (day1 - day2); return temp - result; } } } } int main() { int day1, day2, month1, month2, year1, year2, daynumber; int n;
cout << "Ilk tarihi giriniz=>\n"; //Her iki tarihin girilmesi cout << "Gun :"; cin >> day1; cout << "Ay (Ornek: Ocak icin '1' yaziniz) :"; cin >> month1; cout << "Yil :"; cin >> year1; n = no_of_days_in_month(month1, year1);
if (day1<1 || day1>n || month1 < 1 || month1 >12 || year1 < 1) //girilen tarihin geçerli olup olmadığını kontrol etmek için { cout << "\nGirilen tarih gecerli degil"; exit(0); //girilen tarih geçersiz ise programdan çıkmak için }
cout << "\nIkinci tarihi giriniz=>\n"; cout << "Gun :"; cin >> day2; cout << "Ay (Ornek: Ocak icin '1' yaziniz) :"; cin >> month2; cout << "Yil :"; cin >> year2; n = no_of_days_in_month(month2, year2);
long long int diff = difference_of_days(day1, month1, year1, day2, month2, year2); //2 tarih arasındaki farkı gün sayısı olarak saymak için cout << "\n2 tarih arasindaki fark =>"; cout << "\nGun sayisi :" << diff << " gun";
iki tarih arasındaki gün sayısını buluyorum fakat ondan sonra istediğim gün sayısını girip geçmiş bir tarihi yazdırmak istiyorum yardımcı olur musunuz ?
Anlayan varsa, vakti olan varsa yardımcı olabilir mi ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.