Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
28.03.2016
Размер:
12.88 Кб
Скачать

program Project2;

{

5. Ввести в ЭВМ список N анкет людей, содержащий информацию вида (N = 25);

Фамилия, Дата рождения(год, месяц, число)

Обеспечить следующие виды операций со списком:

а)определение самого старого и самого молодого человека в списке;

б)упорядочивание списка по убыванию года рождения;

в)ввод некоторой фамилии по запросу,

поиск её в списке и выдача полной информации о запрашиваемом человеке.

}

{$APPTYPE CONSOLE}

uses

SysUtils,

Windows;

const

n = 25;

type

wablon = record

fam : string;

god, mes, chis : integer;

end;

var

spisok : array [1..n] of wablon;

temp : wablon;

num, i, v : integer;

cmd, t : string;

error : boolean;

begin

{ TODO -oUser -cConsole Main : Insert code here }

t := 'Укажите количество людей';

CharToOEM(PChar(t), PChar(t));

writeln(t);

readln(num);

t := 'Вводите информацию о каждом человеке';

CharToOEM(PChar(t), PChar(t));

writeln(t);

for i := 1 to num do

with spisok[i] do

begin

t := 'Введите фамилию:';

CharToOEM(PChar(t), PChar(t));

write(t);

readln(fam);

t := 'Введите дату рождения:';

CharToOEM(PChar(t), PChar(t));

write(t);

readln(god, mes, chis);

end;

for i := 1 to num - 1 do

for v := 1 to num - i do

begin

if spisok[i].god < spisok[i + 1].god then

begin

temp := spisok[i];

spisok[i] := spisok[i + 1];

spisok[i + 1] := temp;

end;

end;

t := 'Узнать кто самый старый команда - star';

CharToOEM(PChar(t), PChar(t));

writeln(t);

t := 'Узнать кто самый молодой команда - molod';

CharToOEM(PChar(t), PChar(t));

writeln(t);

t := 'Получить упорядоченный по убыванию года рождения список команда - list';

CharToOEM(PChar(t), PChar(t));

writeln(t);

t := 'Для получения полной информации о человеке введите фамилию';

CharToOEM(PChar(t), PChar(t));

writeln(t);

t := 'Для выхода введите q';

CharToOEM(PChar(t), PChar(t));

writeln(t);

repeat

error := false;

if cmd = 'star'

then writeln(spisok[num].fam)

else

if cmd = 'molod'

then writeln(spisok[1].fam)

else

if cmd = 'list'

then

for i := 1 to num do

with spisok[i] do

writeln(spisok[i].fam, ' ',spisok[i].god, ' ',spisok[i].mes, ' ',

spisok[i].chis)

else

begin

error := true;

for i:= 1 to num do

if cmd = spisok[i].fam

then

begin

writeln(spisok[i].fam, ' ',spisok[i].god, ' ',

spisok[i].mes, ' ',spisok[i].chis);

error := false;

end;

end;

if error then

begin

t := 'Команда или фамилия введена не верно!';

CharToOEM(PChar(t), PChar(t));

writeln(t);

end;

readln(cmd);

until cmd = 'q';

end.

Соседние файлы в папке Прог-ие 1К 2С