Мне нужен вывод етой проги я паскаль практически не знаю и не получается вывести с файлами не разбираюсь я хочу чтобы вы вывели упорядоченный список и вписали вывод в ету тему заранее спасибо во код:
program laba_4_a; uses crt;
Type R = Record {Создаем список и мини списки} uzel:string[20]; ustrois:string[20]; nomer_u:integer; kol_u:integer; ves:real; cena:real; End;
PTItem = ^TItem; TItem = Record
Info: R; next: PTItem;
End;
TList = Record first, last: PTItem; Exists: Boolean; End;
TActionType = Procedure(Var X: R);
Var PlayList: TList; r1: R; f: File Of R; {Создаем файловую переменную} min_cena: Integer; n, i, Choice: Integer; {Счётчики}
Procedure InitList(Var L: TList); Begin L.first := nil; L.last := nil; L.Exists := True; End; Procedure DestroyList(Var L: TList);{Уничтожаем список} Var p, T: PTItem; {Счётчики} Begin p := L.first; While p <> nil Do Begin T := p; p := p^.next; dispose(T){Избавляемся от записи очищаем память} End; L.Exists := False End;
Procedure AppendList(Var L: TList;{присоединяем список} Var X: R); Var p: PTItem;{счётчик} Begin new(p); p^.Info := X; p^.next := nil;
If L.first = nil Then L.first := p Else L.last^.next := p;
L.last := p; End; Procedure RemoveItem(Var L: TList; {Удаляем} n: Integer); Var p, r1: PTItem; {Счётчики} Begin p := L.first; While n > 1 Do Begin p := p^.next; Dec(n) End;
r1 := p^.next; p^ := r1^; Dispose(r1); {Избавляемся от записи очищаем память} r1 := nil End;
Procedure ForEachList(Var L: TList;{Для другова списка} Action: TActionType); Var p: PTItem; Begin p := L.first; While p <> nil Do Begin Action(p^.Info); p := p^.Next; End; End;
Procedure WriteRec(Var X: R); Far; {Просмотр данных} Begin With X Do WriteLn(uzel, ' ', ustrois, ' ', nomer_u, ' ', kol_u, ' ', ves, ' ',cena); End;
procedure sort (var L:Tlist; X:R);{Упорядочивает список} var temp:real; p,r1,t1: PTItem; {Счётчики} begin ClrScr; p := L.first; While p <> nil Do Begin with p^.Info do temp:=kol_u; r1:=p; while r1 <> nil do begin with r1^.Info do if (temp<kol_u) then begin t1^.Info:=p^.Info; p^.info:=r1^.Info; r1^.Info:=t1^.Info; end; r1:=r1^.next; end; p := p^.Next; end; End;
Procedure WriteFile(Var X: R); Far; Begin {Записывает список в файл процедура} Write(f, X) End;
begin repeat; clrscr; {очистка экрана} gotoxy (1,10); {переводит курсор} writeln ('1. Загрузить данные из файла ......'); writeln ('2. Просмотр данных ................'); writeln ('3. Сортировать данные .............'); writeln ('4. Сохранить данные ...............'); writeln (' '); writeln ('0. Выход'); writeln ('Выберете 1-3:'); readln (Choice); case Choice of 2: begin ClrScr; WriteLn(uzel, ' ', ustrois, ' ', nomer_u, ' ', kol_u, ' ', ves, ' ',cena);
ForEachList(PlayList, WriteRec);
ReadLn; end; 4: begin Assign(f, 'FILE.DAT');{Открываем файл для записи} ReWrite(f); ForEachList(PlayList, WriteFile); Close(f); end;
1: begin If PlayList.Exists Then DestroyList(PlayList);
Assign(f, 'FILE.DAT'); {Открываем файл для чтения} Reset(f); While not Eof(f) Do Begin
Read(f, r1); AppendList(PlayList, r1);
End; Close(f); end;
3: begin sort(PlayList,r1); end;
end; until Choice = 0;
If PlayList.Exists Then DestroyList(PlayList); end.
Lapp
6.05.2010 4:58
пожалуйста, ставь тэги (Правила Форума, п.5, и правила раздела Задачи, п.2). Исправлено.
where is thw cheepesr place to b
20.09.2021 1:28
Over The Counter Motilium
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.