Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / Курсовая работа / Курсовая.docx
Скачиваний:
1
Добавлен:
30.05.2020
Размер:
792.72 Кб
Скачать

Література

1. Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005. – 384c.: іл.

2. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. Навч.

посібн. 5-те доп. вид. – Львів: Деол, СПД Глинський, 2004. – 176 с.

3. Семотюк В. Програмування в середовищі Турбо Паскаль. Львів: БаК, 2000. – 248 с.

4. Марченко А.И., Марченко Л.А. Програмирование в среде Turbo Pascal 7.0 / Марченко

5. Коффман Эллиот Б. Turbo Pascal. Практикум 5-е издание.: пер. с англ. М.:

Издательский дом "Вильямс", 2005. – 896 с.: ил.

Додаток а (Обов’язковий) Лістинг основної програми

program kursovaja;

uses crt,baza,gr;

label 0,1;

var p1,p2:integer;

begin

open1;

assign(f,'bolnica.dat');

1:clrscr;

gotoxy(32,8); writeln('Zdelaite vybor:');

gotoxy(30,9); writeln('1 - Vvod.');

gotoxy(30,10); writeln('2 - Vyvod.');

gotoxy(30,11); writeln('3 - Dobavlenie bolnogo.');

gotoxy(30,12); writeln('4 - Udalenie bolnogo.');

gotoxy(30,13); writeln('5 - Redaktirovanie.');

gotoxy(30,14); writeln('6 - Poisk.');

gotoxy(27,16); writeln('7 - Vyhod iz programmi.');

readln(p1);

case p1 of

1:begin Vvod; goto 1 end;

2:begin Vyvod; goto 1 end;

3:begin Dobavit; goto 1 end;

4:begin Udalenie; goto 1 end;

5:begin Redakt; goto 1 end;

6:begin

clrscr;

gotoxy(32,8); writeln('Vvedite vybor:');

gotoxy(30,9); writeln('1 - Dlya poiska po bolnomu!');

gotoxy(30,10); writeln('2 - Dlya kol-va bolnih u vracha!');

readln(p2);

case p2 of

1:begin Poisk1; goto 1 end;

2:begin Poisk2; goto 1 end;

else

goto 1;

end;

end;

7:begin

close1;

goto 0

end;

else

goto 1;

end;

0:end.

Додаток б (Обов’язковий) Лістинг модуля baza.

unit baza;

interface

uses crt;

type lik=record

n,s,diag,doctor:string;

day:1..30;

month:1..12;

year:2000..2012;

end;

var f,f1:file of lik;

i,q,k,x:integer;

st,fam,docfam:string;

z:lik;

procedure Vvod;

procedure Vyvod;

procedure Dobavit;

procedure Udalenie;

procedure Redakt;

procedure Poisk1;

procedure Poisk2;

implementation

procedure Vvod;

begin

clrscr;

rewrite(f);

i:=1; st:='d';

while st='d' do

begin

clrscr;

writeln('Vvedite dannie ',i,' bolnogo');

write('Vvedite familiju: '); readln(z.s);

write('Vvedite imia: '); readln(z.n);

write('Vvedite diagnoz: '); readln(z.diag);

write('Vvedite familiju lechashego vracha: '); readln(z.doctor);

writeln('Vvedite datu naveshenia vracha: ');

write('Den(1-30): '); readln(z.day);

write('Mesyac(1-12): '); readln(z.month);

write('God(2000-2012): '); readln(z.year);

write(f,z);

i:=i+1;

writeln('Hotite vvesti informaciu o drugom bolnom?(d/n)'); readln(st);

end;

end;

procedure Vyvod;

begin

clrscr;

reset(f);

k:=1;

writeln(' Spisok bolnih bolnici ');

if filesize(f)=0 then

begin

textcolor(4+16);

writeln('V baze otsutstvuut dannie!');

textcolor(7);

end

else

begin

for i:=1 to filesize(f) do

begin

read(f,z);

write(k,'.');

gotoxy(5,wherey); write(z.s);

gotoxy(15,wherey); write(z.n);

gotoxy(25,wherey); write(z.diag);

gotoxy(35, wherey); write(z.doctor);

gotoxy(46,wherey); write(z.day);

gotoxy(48,wherey); write('.',z.month);

gotoxy(51,wherey); write('.',z.year);

writeln;

k:=k+1;

end;

close(f);

readkey;

end;

end;

procedure Dobavit;

begin

clrscr;

reset(f);

seek(f,filesize(f));

i:=filesize(f);

st:='d';

i:=i+1;

while st='d' do

begin

clrscr;

writeln('Dobavit ',i,' bolnogo!');

write('Vvedite familiju: '); readln(z.s);

write('Vvedite imia: '); readln(z.n);

write('Vvedite diagnoz: '); readln(z.diag);

write('Vvedite familiju lechashego vracha: '); readln(z.doctor);

writeln('Vvedite datu naveshenia vracha: ');

write('Den(1-30): '); readln(z.day);

write('Mesyac(1-12): '); readln(z.month);

write('God(2000-2012): '); readln(z.year);

write(f,z);

i:=i+1;

writeln('Hotite vvesti informaciu o drugom bolnom?(d/n)'); readln(st);

end;

close(f);

end;

procedure Udalenie;

begin

clrscr;

reset(f);

k:=1;

while not (eof(f)) do

begin

read(f,z);

write(k,'.');

gotoxy(5,wherey); write(z.s);

gotoxy(15,wherey); write(z.n);

gotoxy(25,wherey); write(z.diag);

gotoxy(35, wherey); write(z.doctor);

gotoxy(46,wherey); write(z.day);

gotoxy(48,wherey); write('.',z.month);

gotoxy(51,wherey); write('.',z.year);

writeln;

k:=k+1;

end;

close(f);

writeln;

reset(f);

writeln('Zadaite nomer udalaemoy zapisi'); readln(k);

if k>filesize(f) then write('takoy zapisi net')

else

begin

assign(f1,'bolnica2.dat');

reset(f); rewrite(f1);

for i:=1 to filesize(f) do

begin

read(f,z);

if filepos(f)<>k then write(f1,z);

end;

close(f1); close(f);

erase(f); rename(f1,'bolnica.dat');

write('Zapis udalena');

end;

readkey;

end;

procedure Redakt;

begin

clrscr;

k:=1;

reset(f);

while not (eof(f)) do

begin

read(f,z);

write(k,'.');

gotoxy(5,wherey); write(z.s);

gotoxy(15,wherey); write(z.n);

gotoxy(25,wherey); write(z.diag);

gotoxy(35, wherey); write(z.doctor);

gotoxy(46,wherey); write(z.day);

gotoxy(48,wherey); write('.',z.month);

gotoxy(51,wherey); write('.',z.year);

writeln;

k:=k+1;

end;

close(f);

reset(f);

writeln('Vvedite nomer zapisi'); readln(k);

if k>filesize(f) then write('Takoy zapisi net!')

else

begin

seek(f,k-1);

writeln('Vvedite dannie ',k,' bolnogo');

write('Vvedite familiju: '); readln(z.s);

write('Vvedite imia: '); readln(z.n);

write('Vvedite diagnoz: '); readln(z.diag);

write('Vvedite familiju lechashego vracha: '); readln(z.doctor);

writeln('Vvedite datu naveshenia vracha: ');

write('Den(1-30): '); readln(z.day);

write('Mesyac(1-12): '); readln(z.month);

write('God(2000-2012): '); readln(z.year);

write(f,z);

k:=k+1;

write('Zapis izmenena!');

end;

readkey;

close(f);

end;

procedure Poisk1;

begin

clrscr;

write('Vvedite familiu bolnogo: '); readln(fam);

x:=0;

reset(f);

writeln;

while not eof(f) do

begin

read(f,z);

if fam=z.s then x:=x+1

end;

close(f);

reset(f);

if x=0 then writeln('Takogo bolnogo net!')

else

begin

writeln('Poisk bolnogo ',fam);

while not (eof(f)) do

begin

read(f,z);

if fam=z.s then

begin

write(z.s);

gotoxy(15,wherey); write(z.doctor);

gotoxy(27,wherey); write(z.diag);

gotoxy(42,wherey); write(z.day);

gotoxy(43,wherey); write('.',z.month);

gotoxy(45,wherey); write('.',z.year);

writeln;

end;

end;

end;

readkey;

close(f);

end;

procedure Poisk2;

begin

clrscr;

write('Vvedite familiu vracha: '); readln(docfam);

q:=0;

reset(f);

writeln;

while not eof(f) do

begin

read(f,z);

if docfam=z.doctor then q:=q+1

end;

close(f);

reset(f);

if q=0 then write('U takogo vracha netu bolnih v kartoteke')

else

writeln('U vracha ',docfam,' ',q,' bolnih');

readkey;

close(f);

end;

end.

Соседние файлы в папке Курсовая работа