View Single Post
Old 01-06-2008, 18:52   #24
thienthan
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.553
Cảm ơn: 24
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

Chú thích của bạn đây:
Nhưng hình như bài này hơi có vấn đề mình đã sửa lại rồi không biết có đúng với ý tưởng của bạn không?
Code:
Program Tinh_luong;
USES CRT;
TYPE
	ConTro = ^Banghi;
	BanGhi = RECORD
		HoLot : String[17];
		Ten : String[7];
		Bl,Pc,Tlinh : LongInt;
		Next : ConTro;
	End;
VAR
	First, Newp, Head : ConTro;{Khai báo Last hình như là hơi nhầm}
	Ch : Char;
	i : Integer;
	HeapTop : ^Integer;
Begin
	ClrScr;
	GotoXY(5,25);
	Writeln('Bam <Esc> de thoat, bam<Enter> de tiep tuc nhap');
	Window(1,1,80,24);
	Writeln('MINH HOA CACH VIET CHUONG TRINH KIEU CON TRO');
	Writeln('--------------------------------------------');
	First := NIL;
	Mark(HeapTop);
	i := 0;
	Repeat
	i := i + 1;
	New(Newp);
		With Newp^ Do
			Begin
				Write('-Ho lot cua nguoi thu: ',i:2,' la: ');
				Readln(HoLot);
				Write('-Ten cua nguoi nay la: ');
				Readln(Ten);
				Write('-Bac luong cua nguoi nay la: ');
				Readln(Bl);
				Write('-Phu cap cua nguoi nay la: ');
				Readln(Pc);
				Tlinh := Trunc(Bl * 102.27) + Pc;
			End;
		{Đoạn này để kiểm tra nhập cho lần đầu tiên thôi. Nếu là lần đầu thì nhập vào first}
		If First = NIL Then 
                    begin
			First := Newp;
                        Head := Newp;
                    end;
		Else
			First^.Next := Newp;{Chỗ này phải là First mới đúng}
		{Hết đoạn kiểm tra}
		First := Newp;{Khởi tạo lại để tiếp tục tạo danh sách liên kết động}
		First^.Next := NIL;
		Ch := ReadKey;
	Until Ch = #27;
	Writeln;
	ClrScr;
	Writeln('DANH SACH LINH LUONG');
	Writeln('--------------------');
        First := Nil;
        First := Head;
	While First <> NIL Do
		With First^ Do
			Begin
				Writeln('+Ho ten: ',HoLot,' ',Ten);
				Writeln('+Bac luong : ',Bl);
				Writeln('+Phu cap   : ',Pc);
				Writeln('+Duoc linh : ',Tlinh:8,' dong');
				First := Next;
				Writeln;
			End;
	Release(HeapTop);
	Writeln;
	Writeln('        Bam <Enter> de ket thuc');
	Readln
End .
Nói thật sao bạn lại học pascal nhỉ!
Mình chúa ghét nó luôn. Đặc biệt là phần con trỏ của nó tối nghĩa kinh không như C++ đâu đọc khó chịu lắm.

thay đổi nội dung bởi: thienthan, 13-06-2008 lúc 14:23.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn