
Đề bài
Nhập ngày tháng năm. Hãy cho biết ngày tháng năm sau đó N ngày.
Phân tích
– Viết một hàm (Ví dụ: Songay) để tìm số ngày của tháng trong năm.
– Nhập vào ngày tháng năm hiện tại và N.
– Cuối cùng, bạn sẽ có được ngày tháng năm sau N ngày 😀
Code mẫu
var d,m,y,n:integer;
Function Songay(thang,nam: Integer):Integer;
Var sn:Integer;
Begin
Case thang of
1,3,5,7,8,10,12 : sn:= 31;
4,9,11 : sn:= 30;
2: If (nam MOD 4 = 0) Then
sn:= 29
Else
sn:= 28;
End;
Songay:= sn;
End;
BEGIN
Writeln('Nhap ngay thang nam');Readln(d,m,y);
Writeln('Nhap N');Readln(N);
d:=d+N;
While d > Songay(m,y) Do
Begin
d:= d - Songay(m,y);
m:= m+1;
IF m > 12 Then
Begin
m:= 1;
y:= y + 1;
End;
End;
Writeln('Ket qua ',d,'/',m,'/',y);
Readln;
END.
có cách nào mà không dùng fuctions ko ạ???
program day_of_the_week; uses crt; var ngay,thang,nam,thu,KQthu,i,i2,i3: Integer; chu_thu : string; NKN: array[1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31); NN: array[1..12] of integer = (31,29,31,30,31,30,31,31,30,31,30,31); begin clrscr; writeln(‘Nhap vao ngay: ‘); readln(ngay); writeln(‘Nhap vao thang: ‘); readln(thang); writeln(‘Nhap vao nam: ‘); readln(nam); thu := 0; for i := 1 to nam do begin if (i mod 4 = 0) and (i mod 100 <> 0) then begin for i2 := 1 to 12 do begin for i3 := 1 to NN[i2] do begin thu := thu + 1; if (i3 = ngay) and (i2 = thang) and (i = nam) then KQthu :=… Xem thêm »