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

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

unit Navchannia;

interface

uses Crt;

type students=record

prizv: string;

name: string;

po_batkovi: string;

stat: char;

vik: integer;

kurs: 1..7;

end;

var f, f1: file of students;

l, i, n, m, w, find, a: integer;

mv,wv:real;

st: students;

u: string;

procedure Vvod;

procedure Vyvod;

procedure Redaktirovanie;

procedure Delete;

implementation

procedure Vvod;

begin

textbackground(5);

clrscr;

rewrite(f);

textcolor(8);

for i:=1 to 10 do

begin

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvsedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f, st);

i:=i+1;

end;

close (f);

end;

procedure Vyvod;

begin

textbackground(3);

clrscr;

assign(f,'students.dat');

reset (f);

textcolor(1);

gotoxy(4,3);

writeln(' Students of facultet ');

writeln(' ----------------------------------------------------------------');

if filesize(f)=0 then

begin

textcolor (14);

writeln(' NO INFO! ');

textcolor (7); end

else

for i:=1 to filesize(f) do

begin

read(f,st);

gotoxy(2,wherey);

write(i);

gotoxy(5,wherey); write('|');

gotoxy(6,wherey); write (st.prizv);

gotoxy(17,wherey); write('|');

gotoxy(18,wherey); write (st.name);

gotoxy(29,wherey); write('|');

gotoxy(30,wherey); write(st.po_batkovi);

gotoxy(46,wherey); write('|');

gotoxy(48,wherey); write(st.stat);

gotoxy(51,wherey); write('|');

gotoxy(52,wherey); write(st.vik);

gotoxy(56,wherey); write('|');

gotoxy(57,wherey); write(st.kurs);

gotoxy(60,wherey); write('|');

writeln;

end;

writeln(' -------------------------------------------------------------');

close (f);

readkey;

end;

procedure Redaktirovanie;

begin

textbackground(8);

clrscr;

textcolor(14);

assign(f,'students.dat');

reset(f);

FileMode:=2;

while not (eof(f)) do

begin

for i:=1 to filesize(f) do

begin

read(f,st);

write(i);

gotoxy(3,wherey); write('|');

gotoxy(4,wherey); write (st.prizv);

gotoxy(15,wherey); write('|');

gotoxy(16,wherey); write (st.name);

gotoxy(27,wherey); write('|');

gotoxy(28,wherey); write(st.po_batkovi);

gotoxy(44,wherey); write('|');

gotoxy(45,wherey); write(st.stat);

gotoxy(49,wherey); write('|');

gotoxy(50,wherey); write(st.vik);

gotoxy(54,wherey); write('|');

gotoxy(55,wherey); write(st.kurs);

gotoxy(58,wherey); write('|');

writeln;

end; end;

close(f);

writeln;

writeln;

writeln('1-Redaktirovat suschestvuyschie zapisi');

writeln('2-Dobavit eshe');

writeln('3-Vyhod');

readln(l);

case l of

1:begin

clrscr;

reset(f);

writeln('Vvedite nomer zapisi');

readln(n);

if n>filesize(f) then write('Takoj zapisi net')

else

begin

seek(f,n-1);

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvsedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f,st);

write('Zapis izmenena =)');

end;

readkey;

close(f);

end;

2: begin

clrscr;

reset(f);

seek(f, filesize(f));

i:=filesize(f);

u:='d';

while u='d' do

begin

clrscr;

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f,st);

i:=i+1;

write('Hotite prodolzhit (d/n)');

readln(u);

end;

close(f);

end;

3:

end;

end;

procedure Delete;

begin

clrscr;

assign(f,'students.dat');

reset(f);

while not (eof(f)) do

begin

for i:=1 to filesize(f) do

begin

read(f,st);

write(i);

gotoxy(3,wherey); write('|');

gotoxy(4,wherey); write (st.prizv);

gotoxy(15,wherey); write('|');

gotoxy(16,wherey); write (st.name);

gotoxy(27,wherey); write('|');

gotoxy(28,wherey); write(st.po_batkovi);

gotoxy(44,wherey); write('|');

gotoxy(45,wherey); write(st.stat);

gotoxy(49,wherey); write('|');

gotoxy(50,wherey); write(st.vik);

gotoxy(54,wherey); write('|');

gotoxy(55,wherey); write(st.kurs);

gotoxy(58,wherey); write('|');

writeln;

end; end;

close(f);

writeln;

writeln('1-Prodolzt proceduru udalenia');

writeln('2-Otmenit');

readln(a);

case a of

1: begin reset(f);

writeln('Vvedite nomer udaljaemoj zapisi'); readln(n);

if n>filesize(f) then write('Takoj zapisi net')

else

begin

assign(f1,'stud2.dat');

reset(f);

rewrite(f1);

for i:=1 to filesize(f) do

begin

read(f,st);

if filepos(f)<>n then write (f1,st);

end;

close(f1); close(f);

erase(f);

rename(f1,'students.dat');

write('Zapis udalena');

end;

readkey;

end;

2:

end;

end;

end.

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