BÀI TẬP 82: TÌM NGÀY THÁNG NĂM HÔM SAU TỪ NGÀY HÔM TRƯỚC
Viết chương
trình tính ra ngày tháng năm của ngày hôm sau trên ngày tháng năm của ngày hôm
trước.
Dữ liệu: Cần đọc từ file văn bản
ngaythangnam.inp gồm 1 dòng:
Dòng 1: Số đầu tiên là ngày,
số thứ 2 là tháng, số thứ 3 là năm. Mỗi số cách nhau một khoảng trắng.
Kết
quả: Ghi trên file văn bản ngaythangnam.out
gồm 1 dòng:
Dòng 1: Số đầu tiên là ngày,
số thứ 2 là tháng, số thứ 3 là năm của hôm sau.
Ví
dụ:
ngaythangnam.inp |
ngaythangnam.out |
28 2
2019 |
1 3
2019 |
CODE THAM KHẢO:
Var f:text;
ngaysau, thangsau, ngay, thang: byte;
nam, namsau: word;
function tinhngaysau(x,y:byte): byte;
begin
If x < y Then x := x+1
else if x = y Then
begin
thangsau := thang+1;
x := 1;
end;
tinhngaysau := x;
end;
begin
assign(f,'ngaythangnam.inp'); reset(f);
read(f,ngay,thang,nam);
close(f);
assign(f,'ngaythangnam.out'); rewrite(f);
namsau := nam;
thangsau := thang;
Case thang Of
1,3,5,7,8,10: ngaysau := tinhngaysau(ngay,31);
4,6,9,11: ngaysau := tinhngaysau(ngay,30);
2: if ((nam mod 400 = 0) or (nam mod 4 = 0) and (nam mod 100 <>0)) Then
ngaysau := tinhngaysau(ngay,29)
else ngaysau := tinhngaysau(ngay,28);
12: If ngay<31 Then ngaysau := ngay+1
else if ngay=31 Then
begin
ngaysau := 1;
thangsau := 1;
namsau := nam+1;
end;
End;
write(f,ngaysau,' ',thangsau,' ',namsau);
close(f);
end.