Смекни!
smekni.com

Курсовая работа по базе данных СУБД (стр. 2 из 2)

6.2 Описание процедур.

Creatfile-создание файла;

Addrecord-добавление запеси;

Inputfile-ввод данных;

Redzap-корректировка;

Openfile-просмотр;

Clearfile-удаление.

Вывод.

Проделанная работа позволяет любому пользователю с легкостью создавать большие объемы информации, обрабатывать их, сортировать, делать выборки по определенным критериям.

Использование такой программы в современном мире значительно облегчает деятельность человека.

Program kursovay;

uses Crt,Dos;

type prokat=record

Sname_Hozaina,Name_Hozaina:string[15];

markauto:string[20];

model_auto:string[20];

tip_kyzova:string[20];

nomer_auto:string[20];

region:integer;

god_vipyska:integer;

color:string[20];

end;

var f:file of prokat;

zn,filename:string;

k:integer;

label 11;

{-----------------------------------------------------------}

procedure Creatfile;

begin

writeln('Задайте имя файла,который будет создаваться');

readln(filename);

assign(f,filename);

rewrite(f);

end;

{-----------------------------------------------------------}

procedure Addrecord;

var rez:integer; ch:char;

begin

while rez<>0 do

begin

writeln('Задайте имя файла,в который будет добавляться запись');

readln(filename);

assign(f,filename);

reset(f);

rez:=IOResult;

if rez<>0 then

begin

writeln('Проверьте правильность имени файла!');

writeln('Будет ли повторное задание имени файла?(Y/N)');

readln(ch);

if (ch='n') or (ch='N') then halt (0);

end;

end;

seek(f,filesize(f));

end;

{==========================================================}

procedure Inputfile;

var st:prokat;

k:char;

begin

repeat

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

write('Фамилия Хозяина : '); readln(st.Sname_Hozaina);

write('Имя Хозяина:' ); readln(st.Name_Hozaina);

write('марка машины:'); readln(st.markauto);

write('модель машины:'); readln(st.model_auto);

write('тип кузова:'); readln(st.tip_kyzova);

write('номер машины: '); readln(st.Nomer_auto);

write('регион:'); readln(st.region);

write('год выпуска: '); readln(st.God_vipyska);

write('цвет: '); readln(st.color);

write(f,st);

write('Надо ли вводить данные о новом клиенте ? (Y/N)>');readln(k);

writeln;

until(k='n') or (k='N');

close(f);

end;

{=========================================================}

procedure redzap;

var

st:prokat;

filename,str:string;

Sname_Hozaina2,Name_Hozaina2:string[15];

markauto2:string[20];

model_auto2:string[20];

tip_kyzova2:string[20];

nomer_auto2:string[20];

region2:integer;

god_vipyska2:integer;

color2:string[20];

x:integer;

begin

writeln('Задайте имя файла');

readln(filename);

assign(f,filename);

reset(f);

with st do

begin write('Введите фамилию клиента: ');readln(str);

x:=0;

while not eof(f) do

begin

read(f,st);

if st.Sname_Hozaina=str then

begin

writeln('Введите новые данные о клиенте: ');

write('Фамилия хозяина: '); readln(st.Sname_Hozaina);

write('Имя хозяина: '); readln(st.Name_Hozaina);

write('марка машины:'); readln(st.markauto);

write('модель машины:'); readln(st.model_auto);

write('тип кузова:'); readln(st.tip_kyzova);

write('номер машины:'); readln(st.nomer_auto);

write('регион:'); readln(st.region);

write('год выпуска:'); readln(st.god_vipyska);

write('цвет: '); readln(st.color);

Sname_Hozaina2:=Sname_Hozaina; markauto2:=markauto;

Name_Hozaina2:=Name_Hozaina; color2:=color;

Nomer_auto2:=Nomer_auto; model_auto2:=model_auto;

God_vipyska2:=God_vipyska; tip_kyzova2:=tip_kyzova;

region2:=region;

seek(f,filepos(f)-1);

write(f,st); x:=1;

end; end;

close(f);

end;

if x=0 then begin writeln('Записи с такой фамилией нет!');readln end;

end;

{==============================================================}

procedure Openfile;

var rez:integer;ch:char;

begin

while rez<>0 do

begin

writeln('Задайте имя файла');

readln(filename);

assign(f,filename);

reset(f);

rez:=IOResult;

if rez<>0 then

begin

writeln('Проверьте правильность имени файла!');

writeln('Будет ли повторное задание имени файла ? (Y/N)');

readln(ch);

if (ch='n') or (ch='N') then halt (0);

end;

end;

end;

{============================================================}

procedure Outputfile;

var st:prokat;k:char;

begin

writeln('Хотите посмотреть данные о клиентах ? (Y/N)');

readln(k);

if (k='y') or (k='Y') then

while not eof(f) do

begin

read(f,st); clrscr;

writeln('Фамилия хозяина:',st.Sname_Hozaina);

writeln('Имя хозяина:',st.Name_Hozaina);

writeln('марка машины:',st.markauto);

writeln('модель машины:',st.model_auto);

writeln('тип кузова:',st.tip_kyzova);

writeln('номер машины:',st.nomer_auto);

writeln('регион;',st.region);

writeln('год выпуска:',st.god_vipyska);

writeln('цвет:',st.color);

writeln('Для продолжения нажмите (enter)');

readln;

end;

close(f);

end;

{========================================================}

procedure Clearfile;

var st:prokat;

studtoout:string[20];

fo:file of prokat;

begin

writeln('Задайте имя файла,из которого удаляются элементы');

readln(filename);

assign(f,filename);reset(f);

assign(fo,'newfile.dat');rewrite(fo);

writeln('Задайте фамилию клиента, запись о котором удаляется');

readln(studtoout);

while not eof(f) do

begin

read(f,st);

if st.sname_Hozaina<>studtoout then write(fo,st);

end;

close(f);close(fo);

erase(f);

rename(fo,filename);

end;

{ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ}

Begin 11:clrscr;

writeln(' МЕНЮ:');

writeln('1:Создание файла');

writeln('2:Добавление записи в файл');

writeln('3:Корректировка записи');

writeln('4:Просмотр файла');

writeln('5:Удаление записи из файла');

writeln('6:Выход из программы');

readln(k);

case k of 1: begin Creatfile; Inputfile end;

2: begin Addrecord; Inputfile end;

3: redzap;

4: begin Openfile; Outputfile end;

5: Clearfile;

6: Halt;

else writeln('Ошибка.Повторите номер режима.')

end;

goto 11;

End.