Реализация стека в Pascal
Код:
type PNode = ^Node;
Node = record
Name: string;
fam: string;
LastName: string;
Address: string;
Day: word;
Month: word;
Year: word;
Child: word;
SumHour: word; //Отработанно часов
Price: integer; //Расценка одного часа
Next: PNode;
end;
Procedure Push ( var Head: PNode; x: Node);
var NewNode: PNode; F1: file of Node;
begin
New(NewNode);
NewNode^.fam := x.fam;
NewNode^.name := x.name;
NewNode^.lastname := x.lastname;
NewNode^.address := x.address;
NewNode^.day := x.day;
NewNode^.month := x.month;
NewNode^.year := x.year;
NewNode^.child := x.child;
NewNode^.sumhour := x.sumhour;
NewNode^.price := x.price;
NewNode^.next := Head;
Head := NewNode;
Assign (F1, 'database.date');
ReWrite (F1);
write(f1,x);
Close(f1);
end;
Node = record
Name: string;
fam: string;
LastName: string;
Address: string;
Day: word;
Month: word;
Year: word;
Child: word;
SumHour: word; //Отработанно часов
Price: integer; //Расценка одного часа
Next: PNode;
end;
Procedure Push ( var Head: PNode; x: Node);
var NewNode: PNode; F1: file of Node;
begin
New(NewNode);
NewNode^.fam := x.fam;
NewNode^.name := x.name;
NewNode^.lastname := x.lastname;
NewNode^.address := x.address;
NewNode^.day := x.day;
NewNode^.month := x.month;
NewNode^.year := x.year;
NewNode^.child := x.child;
NewNode^.sumhour := x.sumhour;
NewNode^.price := x.price;
NewNode^.next := Head;
Head := NewNode;
Assign (F1, 'database.date');
ReWrite (F1);
write(f1,x);
Close(f1);
end;
- wanja, в смысле число? Как я уже понял, там должно быть не (F1, x), а (F1, NewNode)?И всё равно, это не решает проблемы от Fighter215, 10 апреля 2012 года
А зачем он записывает число в файл? Кстати, там всегда будет только одно число - последнее добавленное. А если не считать записи в файл, все верно.
Цитата: wanja
А зачем он записывает число в файл? Кстати, там всегда будет только одно число - последнее добавленное. А если не считать записи в файл, все верно.
в смысле, число?