IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Вывод программы
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Мне нужен вывод етой проги я паскаль практически не знаю и не получается вывести с файлами не разбираюсь я хочу чтобы вы вывели упорядоченный список и вписали вывод в ету тему заранее спасибо во код:

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


пожалуйста, ставь тэги (Правила Форума, п.5, и правила раздела Задачи, п.2).
Исправлено.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Over The Counter Motilium
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 16:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name