|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2010, 23:26 | #1 |
Новичок
Джуниор
Регистрация: 05.06.2010
Сообщений: 1
|
Вывод программы нужен
Кто - нибудь может исправить программу, а то не могу получить результат. Пожалуйста. Нужен в основном вывод.
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. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен результат программы... | Катюшенька | Помощь студентам | 1 | 17.05.2010 09:53 |
Вывод в резидентной части программы | bruk_bond | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 12 | 18.12.2009 11:29 |
Нужен помощник в написании программы | Bazilizk | Фриланс | 2 | 12.08.2009 10:36 |
Нужен вывод сообщения на экран: ну типа создать файл? | Максим-2 | Общие вопросы Delphi | 7 | 28.07.2007 14:45 |