ngay tinhtoanluivekngay(ngay a,int k)
{
int ngaysosanh= sothutungaytrongnam(a);
int day = sothutungaytrongnam(a)-k;
if (day > 0)
{
for (int j = a.thang; ngaysosanh == day; j--)
{
for (int i = a.ngay; i >= 0; i--)
{
a.ngay--;
ngaysosanh--;
}
a.thang--;
if (a.ngay == 0)
a.ngay = songayla(a.thang, a.nam);
}
}
return a;
}
int sothutungaytrongnam(ngay b)
{
int sothutu = b.ngay;
for (int i = 0; i < b.thang; i++)
{
sothutu =sothutu+ songayla(i,b.nam) ;
}
return sothutu;
}
int songayla(int x,int y)
{
if ((y % 4 == 0) && (y % 100 != 0))
y=1;
else y=0;
if (x == 0)
return 0;
else
{
if ((x == 4) || (x == 6) || (x == 9) || (x == 11))
return 30;
else
{
if ((x == 1) || (x == 3) || (x == 5) || (x == 7) || (x == 8) || (x == 10) || (x == 12))
return 31;
else
{
if ((x == 2) && (y == 0))
return 28;
else return 29;
}
}
}
}
struct ngay
{
int ngay;
int thang;
int nam;
};
Giúp em với ạ em nghĩ hướng của em đi ổn nhưng không biết chạy thì nó cứ ra như ban đầu ạ.

để output thì đổi ngày thứ n ra ngày tháng năm.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?