Помощь - Поиск - Пользователи - Календарь
Полная версия: Записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ursula
Здравствуйте! Помогите пожалуйста!! Нужно исправить ошибки, вот задание:
В бюро занятости ведется список вакантных мест на предприятиях города. Каждая запись имеет поля:
Наименование организацииб расстояние в км от центра городаб должность, требуемая квалификация(разряд),
стаж работы по специальности, зарплата, наличие страхованияКлиент бюро вводит информацию о своей квалификации и требованиях, распечатать для каждого клиента список, УПОРЯДОЧИТЬ ДОЛЖНОСТИ ПО АЛФАВИТУ

Сама программа: (Показать/Скрыть)


Мой модуль: (Показать/Скрыть)
Merlin
Ursula вот тебе пример, такая же почти задача как у тебя.

Условие

Создать типизированный файл, запись которого имеет следующую структуру: номер УДК, фамилию и инициалы автора, название книги, год издания, количество экземпляров данной книги в библиотеке. Вывести на экран в алфавитном порядке название книг, количество экземпляров которых больше 3.
Создание и обработку файла оформить в виде подпрограмм

uses crt; 
const n=2;
type knigi=record
fio,name:string[20];
udk:real;
date,kol:integer;
end;
var f:file of knigi;
a:array [1..n] of knigi;
s:string;
i,vybor:integer;
{Создание}
procedure new;
Begin
rewrite(f);
for i:=1 to n do
begin
clrscr;
write('Введите номер Удк');
readln(a[i].udk);
write('Введите ФИО ');
readln(a[i].fio);
write('Введите название ');
readln(a[i].name);
write('Введите год издания ');
readln(a[i].date);
write('Введите кол-во экземпляров ');
readln(a[i].kol);
write(f,a[i]);
end;
close(f);
End;
{Чтение}
procedure open;
Begin
reset(f);
for i:=1 to n do read(f,a[i]);
close(f);
End;
{Вывод на экран}
procedure print;
var j:integer;
buf:knigi;
Begin
clrscr;
for i:=1 to n-1 do
for j:=i+1 to n do if a[i].name>a[j].name then
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
writeln(' УДК ФИО Название Дата Кол-во');
for i:=1 to n do if a[i].kol > 3 then
writeln(a[i].udk:5:0,' ',a[i].fio:20,' ',a[i].name:20,' ',a[i].date:5,' ',a[i].kol);
End;
BEGIN
clrscr;
write('1 - Создать новый, 0 - открыть ');
readln(vybor);
write('Введите полный путь к файлу ');
readln(s);
assign(f,s);
if vybor=1 then new;
if vybor=0 then open;
print;
readln;
END.
Bokul
Цитата
УПОРЯДОЧИТЬ ДОЛЖНОСТИ ПО АЛФАВИТУ

Сортировка массив записей по алфавитному порядку
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.