Преобразования и хранения последовательных файлов и файлов произвольного доступа на Турбо Паскале

Принципы создания последовательных и файлов произвольного доступа. Формирование файлов, в одном из которых помещены фамилии пяти знакомых, а в другой номера их телефонов. Составление программы, которая по фамилии знакомого определяет номер его телефона.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.12.2010
Размер файла 17,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Цель работы:

Изучение принципов создания, преобразования и хранения последовательных файлов и файлов произвольного доступа.

Задание:

Сформировать два файла. В один из них поместить фамилии пяти ваших знакомых, а в другой номера их телефонов.

Составить программу, которая по фамилии вашего знакомого определяет номер его телефона.

procedure print_head;

procedure print_menu;

procedure print_book(n : integer; a : men ; b : tels);

procedure ins_man(var n : integer;var a : men ;var b : tels);

procedure change_man(n : integer;var a: men ;var b: tels);

procedure read_file(var f : fman;var ft : ftel;var n : integer;var a : men; var b : tels);

procedure write_file(var f : fman;var ft : ftel;n : integer; a : men; b : tels);

procedure show_matrix(n,m : integer;a : matrix);

Программа:

{*****************************************}

{Программа:lab22 }

{Цель:создание таблицы данных }

{Описание параметров и переменных: }

{ menbook,telbook - массив записей }

{ menfile,telfile - файлы записей }

{ n - кол-во элементов в базе данных }

{ i - вспомогательная переменная }

{ key - переменная-ключ }

{Подпрограммы:нет }

{Программист: Кондрахин А.В.,гр.343 }

{Проверил: Москвитина О.А.,каф. ВПМ }

{Дата написания: 12 марта 2004 г. }

{*****************************************}

program lab22;

uses crt;

const

verh ='-----------T---------------T---------------T----------T----------T-----------¬';

inc1 ='¦ Имя ¦ Фамилия ¦ Отчество ¦ дом.тел. ¦ раб.тел. ¦ сот.тел. ¦';

cent1='+----------+---------------+---------------+----------+----------+-----------+';

niz ='L----------+---------------+---------------+----------+----------+------------';

Num=10;

type

man=record

name:string[10];

fam :string[15];

otc :string[15];

end;

tel=record

hometel: string[6];

worktel: string[6];

sottel : string[11];

end;

men=array[1..Num] of man;

tels=array[1..Num] of tel;

fman=file of man;

ftel=file of tel;

var

n,i :integer;

menbook :men;

telbook :tels;

menfile :fman;

telfile :ftel;

key :char;

procedure print_head;

begin

Clrscr;

Writeln('---------------------- Программа "Записная книжка" ----------------------');

Writeln;

end;

procedure print_menu;

begin

print_head;

Writeln('Выберете одно из следующих действий:');{Вывод меню}

Writeln('1. Просмотреть записную книжку.');

Writeln('2. Добавить новую запись.');

Writeln('3. Редактировать запись.');

Writeln;

Writeln('0. Выход');

Writeln;

Writeln('Введите ключ команды:');

end;

procedure print_book(n : integer; a : men ; b : tels);

var

i:integer;

begin

print_head;

Writeln(verh);Writeln(inc1);Writeln(cent1);

for i:=1 to n do {Вывод записей}

Writeln('¦',a[i].name:10,'¦',a[i].fam:15,'¦',a[i].otc:15,'¦',b[i].hometel:10,'¦',b[i].worktel:10,'¦',b[i].sottel:11,'¦');

Writeln(niz);

Writeln('Для продолжения нажмите любую клавишу...');Readkey;

end;

procedure ins_man(var n : integer;var a : men ;var b : tels);

var

fam : string[15];

begin

print_head;

if n=Num

then Writeln('База данных переполнена!') {Переполнение базы}

else begin

inc(n); {Занесение записи}

Write('Введите имя (10 знаков):');Readln(a[n].name);

Write('Введите фамилию (15 знаков):');Readln(a[n].fam);

Write('Введите отчество (15 знаков):');Readln(a[n].otc);

Write('Введите домашний телефон:');Readln(b[n].hometel);

Write('Введите рабочий телефон:');Readln(b[n].worktel);

Write('Введите сотовый телефон:');Readln(b[n].sottel);

end;

Writeln('Для продолжения нажмите любую клавишу...');Readkey;

end;

procedure change_man(n : integer;var a: men ;var b: tels);

var

fam : string[15];

i :integer;

begin

print_head;

Writeln('Введите фамилию:');Read(fam);

i:=1;

while (a[i].fam<>fam) and (i<=n) do {Поиск фамилии}

inc(i);

if (i>n) and (a[i].fam<>fam)

then Writeln('Такой фамилии не найдено!')

else

begin

Writeln(verh);Writeln(inc1);Writeln(cent1);

Writeln('¦',a[i].name:10,'¦',a[i].fam:15,'¦',a[i].otc:15,'¦',b[i].hometel:10,'¦',b[i].worktel:10,'¦',b[i].sottel:11,'¦');

Writeln(niz);Writeln;Readln;

Write('Введите имя (10 знаков):');Readln(a[i].name); {Изменение записи}

Write('Введите фамилию (15 знаков):');Readln(a[i].fam);

Write('Введите отчество (15 знаков):');Readln(a[i].otc);

Write('Введите домашний телефон:');Readln(b[i].hometel);

Write('Введите рабочий телефон:');Readln(b[i].worktel);

Write('Введите сотовый телефон:');Readln(b[i].sottel);

Writeln('Для продолжения нажмите любую клавишу...');Readkey;

end;

end;

procedure read_file(var f : fman;var ft : ftel;var n : integer;var a : men; var b : tels);

begin

n:=0;

assign(f,'man.db'); {Инициализация файловых}

assign(ft,'tel.db'); {переменных}

{$I-}

reset(f);

reset(ft);

{$I+}

if IOResult<>0

then Writeln('Файл базы данных не найден!')

else begin

while not(EOF(f)) and (n<=10) do

begin

inc(n);

read(f,a[n]); {Чтение записей}

read(ft,b[n]);

end;

Writeln('Файл базы данных успешно прочитан!');

end;

end;

procedure write_file(var f : fman;var ft : ftel;n : integer; a : men; b : tels);

var

i: integer;

begin

rewrite(f);

rewrite(ft);

for i:=1 to n do

begin {Запись записей}

Write(f,a[i]);

Write(ft,b[i]);

end;

Writeln('Файл базы данных успешно сохранен!');

end;

begin

read_file(menfile,telfile,n,menbook,telbook); {Чтение файлов}

print_head;

key:='Y';

while (UpCase(key)='Y') do {Проверка ключа}

begin

print_menu;

key:=Readkey;

case key of {Выплнение соотв.}

'1': begin print_book(n,menbook,telbook);key:='Y';end;

'2': begin ins_man(n,menbook,telbook);key:='Y';end;

'3': begin change_man(n,menbook,telbook);key:='Y';end;

else begin Writeln('Вы ввели неправильный код!');key:='N';end

end;

Writeln;

end;

write_file(menfile,telfile,n,menbook,telbook); {Запись файлов}

end.

Просчет контрольного варианта на ЭВМ:

Выберете одно из следующих действий:

1. Просмотреть записную книжку.

2. Добавить новую запись.

3. Редактировать запись.

0. Выход

Введите ключ команды: 1

Имя

Фамилия

Отчество

дом.тел.

раб.тел.

сот.тел.

Andrey

Sergey

Alex

Serega

Kondrahin Sazonov

Uoronov

Kurpach

Uyacheslauouich

Otc

Uiktorouich Uiktorouich

322286

322155

455932

32456

322286

322155

455932

435645

324567678

3456789

3245667788

3245475685

Для продолжения нажмите любую клавишу...

Выберете одно из следующих действий:

1. Просмотреть записную книжку.

2. Добавить новую запись.

3. Редактировать запись.

0. Выход

Введите ключ команды: 2

Введите имя (10 знаков):Ivanov

Введите Фамилию (15 знаков):Uladislav

Введите отчество (15 знаков):01egovich

Введите домашний телефон:226057

Введите рабочий телефон:226057

Введите сотовый телефон:123Ч56789

Для продолжения нажмите любую клавишу...

Выберете одно из следующих действий:

1. Просмотреть записную книжку.

2. Добавить новую запись.

3. Редактировать запись.

0. Выход

Введите ключ команды: 3

Введите Фамилию: Sazonov

Имя

Фамилия

Отчество

дом.тел.

раб.тел.

сот.тел.

Sergey

Sazonov

Otc

322155

322155

3456789

Введите имя (10 знаков):Sergey

Введите Фамилию (15 знаков):Sazonov

Введите отчество (15 знаков):Nikolaevich

Введите домашний телефон:322155

Введите рабочий телефон:322155

Введите сотовый тепеФон:987654321

Для продолжения нажмите любую клавишу...


Подобные документы

  • Понятие процесса архивации файлов. Программы, осуществляющие упаковку и распаковку файлов. Защита информации от несанкционированного доступа. Самораспаковывающиеся архивы. Основные характеристики программ-архиваторов. Распространенные алгоритмы сжатия.

    презентация [801,6 K], добавлен 23.10.2013

  • Характеристика работы архиватора - компьютерной программы, которая осуществляет сжатие данных в один файл архива для более легкой передачи, компактного их хранения. Особенности процесса архивирования - записи файлов и разархивирования - открытия файлов.

    реферат [216,5 K], добавлен 26.03.2010

  • Проектирование программного обеспечения. Схема начального формирования каталога файлов, вывода на экран каталога файлов, удаления файлов, сортировки файлов по имени, дате создания и размеру методом прямого выбора. Управление каталогом в файловой системе.

    курсовая работа [804,0 K], добавлен 08.01.2014

  • Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.

    контрольная работа [534,7 K], добавлен 11.01.2015

  • Понятия файлов и каталогов. Область внешней памяти, группа файлов на одном носителе. Древовидная структура файлов на диске. Имя и местонахождение файла. Маршрут или путь по файловой системе. Запись имени файла в DOSе. Шаблоны. Структура каталога.

    лабораторная работа [15,2 K], добавлен 30.09.2008

  • Обзор особенностей работы с программой Total Commander. Создание папок, копирование файлов на флеш-карту. Вызов контекстного меню. Определение структуры файлов. Переименование группы файлов. Помещение файлов в архив. Разделение архива на несколько частей.

    лабораторная работа [1,9 M], добавлен 08.04.2014

  • Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов.

    курсовая работа [1,8 M], добавлен 28.03.2015

  • Создание программы, которая позволяет пользователю задавать произвольную директорию, содержащую музыкальные файлы. Осуществление поиска или рекурсивного поиска файлов в этой директории и формирование csv-файла. Исправление тегов в музыкальных файлах.

    курсовая работа [241,3 K], добавлен 13.02.2015

  • Утилиты архивации для создания резервных копий файлов путем помещения их в архив в сжатом виде. Операции над архивами. Алгоритмы архивации. Универсальные алгоритмы уплотнения. Формат задания команд. Степень сжатия файлов. Основные виды архиваторов.

    презентация [241,0 K], добавлен 13.08.2013

  • Проектирование структуры и архитектуры программного продукта. Реализация программы конвертера файлов баз данных. Описание пользовательского интерфейса. Выбор порядка конвертации dbf файлов. Создание и исполнение шаблонов. Расчет себестоимости продукта.

    дипломная работа [2,2 M], добавлен 21.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.