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.
... . Это нормально, если на стороне клиента используется маломощная рабочая станция. Но если клиентский компьютер обладает достаточной мощностью, то часто возникает желание возложить на него больше функций управления базами данных, разгрузив сервер, который является узким местом всей системы. Что собственно говоря и обусловило появление двух- и трехуровневых (звенных) систем. 3.2 Два уровня или ...
... остается, за редким исключением, не технической задачей, а творческим процессом, который скорее сродни искусству, нежели науке. Это утверждение может показаться несколько странным: ведь разработка и исследование баз данных ведутся более 30 лет. Однако как нам кажется, такой парадокс вполне объясним. За прошедшие годы неизмеримо вырос уровень потребительских качеств систем управления базами данных ...
... компиляция концептуальной модели предметной области в схему БД). Второй вариант - прямая реализация СУБД, основанная на какой либо семантической модели данных. 2. Создание базы данных «Деканат: дистанционного обучения КТИ» 2.1 Краткая характеристика предметной области Предполагаемый деканат дистанционного образования Калмыцкого Технологического Института, именуемый в дальнейшем "ДДО КТИ ...
... типов запросов предоставляет иные средства для изменения данных. 3. Microsoft Visual FoxPro 7.0 Visual FoxPro 7.0 представляет собой новую версию широко известной системы управления базами данных (СУБД) Visual FoxPro, которая функционирует в среде Windows и представляет собой полноценное 32-х разрядное приложение. Visual FoxPro является объектно-ориентированным, визуально-программируемым ...
0 комментариев