Работа с базами данных

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

го досье становится достаточно трудоемким занятием.

Оба эти способа я посчитала громоздкими, поэтому все данные на всех людей хранятся у меня в одном файле, разделенные, как уже говорилось соответствующими символами. Достоинства: во многом упрощается работа с файлами (не нужно мучится с их открытием и закрытием). Правда, файл может получиться слишком большим. Других недостатков у своего пути я не вижу.

 

 

 

 

 

Несущественные замечания.

Хочу повиниться перед проверяющим: вопреки настоятельной просьбе нашего учителя информатики вместо одной программы я написала две: первая заносит данные в файл, вторая извлекает их оттуда. Не считаю это серьезным недостатком своей работы, так как при желании эти две программы всегда можно объединить. Также хочу заметить, что данная программа далеко несовершенна в отношении оформления, но так как передо мной не стояла задача рисовать красивые картинки, я и не стала этого делать.

 

 

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

 

 

 

 

 

 

 

 

 

 

Приложение.

 

Program shit;

uses crt;

 

var a,s,d:string;

f:text;

n,e,y,q:integer;

 

begin

assign(f,iz.txt);

{$I-}

reset(f);

if IOResult>0 then

begin

writeln(Файл не найден);

readln;

halt;

end;

{$I+}

(Эта вставка предназначена на тот случай, если файла со списком нет на диске. Тогда программа выдаст сообщение и завершит свою работу, а не просто вылетит.)

writeln(Введите критерий);

readln(a);

writeln(Если это фамилия, введите 1,

имя - 2, пол - 3);

readln(e);

if e=1 then

begin

repeat

readln(f,s);

n:=pos(*,s);

d:=copy(s,1,n-1);

if d=a then

begin

y:=1;

w:=pos(*,s);

r:=pos(&,s);

t:=pos($,s);

s:=copy(s,1,w-1)+ +copy(s,w+1,r-w-1)+пол +s[r+1]+

+copy(s,t+1,length(s)-t-1);

(Этот блок и все последующие блоки такого типа служат для удаления спецсимволов при выводе на экран строки из файла. Вместо спецсимволов на экран выводятся пробелы и некоторые пояснения.)

writeln(s);

end;

until eof(f);

end;

if e=2 then

begin

repeat

readln(f,s);

n:=pos(*,s);

q:=pos(&,s);

d:=copy(s,n+1,q-n-1);

if d=a then

begin

y:=1;

w:=pos(*,s);

r:=pos(&,s);

t:=pos($,s);

s:=copy(s,1,w-1)+ +copy(s,w+1,r-w-1)+ +s[r+1]+

+copy(s,t+1,length(s)-t-1);

writeln(s);

end;

until eof(f);

end;

if e=3 then

begin

if not ((a=м) or (a=ж)) then

begin

writeln(Не выделывайся. Я, конечно знаю парочку гермафродитов,);

writeln(но их нет этом списке. Сто пудов!!!!);

y:=1;

(Проверка на случай не очень умного пользователя.)

end

else

repeat

readln(f,s);

n:=pos(&,s);

if s[n+1]=a[1] then

begin

y:=1;

{ writeln(s);}

w:=pos(*,s);

r:=pos(&,s);

t:=pos($,s);

s:=copy(s,1,w-1)+ +copy(s,w+1,r-w-1)+ +s[r+1]+ +copy(s,t+1,length(s)-t-1);

writeln(s);

end;

until eof(f);

if not ((e=1) or (e=2) or (e=3)) then

begin

writeln(Слушай, делать нечего, вали из моей программы);

y:=2;

(Проверка на случай не очень умного пользователя)

end;

if not (y=1) or (y=2) then

writeln(Таких здесь нет, и, по-моему никогда не было);

end;

readln

end.