- •Индивидуальное задание на курсовое проектирование по дисциплине
- •2. Общая часть
- •2.1 Описание предметной области
- •2.2 Выбор языка программирования
- •3. Основная часть
- •3.1 Описание типов
- •3.2 Описание ввода и вывода записей
- •3.2.1 Процедура ввода записей
- •3.2.2 Процедура вывода записей
- •3.3 Процедура сортировки записей
- •3.4 Процедура поиска записей
- •3.5 Процедуры редактирования записей
- •3.5.1 Процедура удаления модели
- •3.5.2Процедура корректировки записи
- •4. Результаты работы
- •4.1 Интерфейс пользователя
- •4.2 Информация о комплектующих файлах
4.2 Информация о комплектующих файлах
Размер файла программы «Курсовая.exe»составляет 83,8 кБ, размер файла базы данных «UEFA.txt» – 6,56 кБ. Общий размер папки с файлами –143кБ.
ЗАКЛЮЧЕНИЕ.
Главная цель курсовой работы – создание программы, являющейся справочником, содержащим информацию о футбольных командах, я считаю выполненной.
Список используемой литературы
1. «Программирование на языке Паскаль» Г. Г. Рапаков, С. Ю. Ржеуцкая, БХВ-Петербург, 2004г.
2. «Турбо Паскаль 7.0» Е. Р. Алексеев, О. В. Чеснокова, Москва 2005г.
3. «Турбо Паскаль» С. А. Немнюгин, Питер 2000г.
Приложение 1
Процедура добавления
Procedure dobav;
Begin
assign(fbaz,'UEFA.txt');
reset(fbaz);
Seek(Fbaz,filesize(fbaz));
textcolor(15);
Writeln('Название команды ',filesize(fbaz)+1);
write('Название - ');
readln(Ff.Nazvanie);
Write('Год основания - ');
readln(Ff.God);
Write('Главный тренер команды - ');
readln(Ff.Trener);
Write('Стадион команды - ');
readln(Ff.Stadion);
Write('Вместительность стадиона - ');
readln(Ff.Mesto);
Write('Последний год победы в УЕФА - ');
readln(Ff.UEFA);
Write('Последний год выигрыша в стране - ');
readln(Ff.Strana);
Write(Fbaz,ff);
Close(Fbaz);
clrscr;
End;
Приложение 2
Процедура вывода
Procedure vivod;
var
k: integer;
tab: baz;
begin
k:=0;
assign(fbaz,'UEFA.txt');
reset(fbaz);
clrscr;
writeln('UEFA');
while not eof (fbaz) do
begin
k:=k+1;
read(fbaz,tab);
textcolor(10);
writeln('Команда № ',k);
writeln('Название команды: ',tab.Nazvanie);
writeln('Год основания команды: ',tab.God);
writeln('Главный тренер команды: ',tab.Trener);
writeln('Стадион: ',tab.Stadion);
writeln('Вместительность стадиона : ',tab.Mesto);
writeln('Последний год победы в UEFA: ',tab.UEFA);
writeln('Последний год выигрыша в стране: ',tab.Strana);
writeln('_______Enter - следующая команда_______');
readln;
end;
close(fbaz);
end;
Приложение 3
Процедура сортировки
Procedure Sort;
var st,a,b:baz;
i,j:byte;
begin
assign(fbaz,'UEFA.txt');
reset(fbaz);
for i:=0 to filesize(fbaz)-2 do
for j:=i+1 to filesize(fbaz)-1 do
begin
seek(fbaz,i);
read(fbaz,a);
seek(fbaz,j);
read(fbaz,b);
if a.Nazvanie>b.Nazvanie then
begin
st:=a;
a:=b;
b:=st;
seek(fbaz,i);
write(fbaz,a);
seek(fbaz,j);
write(fbaz,st);
end;
end;
close(fbaz);
end;
Приложение 4
Процедура поиска
Procedure Poisk;
var
a:baz;
fir:string;
i:integer;
begin
clrscr;
write('Введите название команды которую бы хотите найти: ');
readln(fir);
assign(fbaz,'UEFA.txt');
reset(fbaz);
for i:=1 to filesize(fbaz) do
begin
read(fbaz,a);
if pos(upcase(fir),upcase(a.Nazvanie))<>0 then
begin
writeln('Название команды: ',a.Nazvanie);
writeln('Год основания команды: ',a.God);
writeln('Главный тренер:',a.trener);
writeln('Стадион: ',a.Stadion);
writeln('Вместительность стадиона: ',a.Mesto);
writeln('Последний год победы в UEFA: ',a.UEFA);
writeln('Последний год выигрыша в стране: ',a.Strana);
readln;
end
else
write('');
end;
close(fbaz);
end;
Приложение 5
Процедура удаления
Procedure ydal;
Begin
clrscr;
assign(f2,'delit.txt');
Reset(Fbaz);
rewrite(f2);
Seek(fbaz, 0);
while not eof(fbaz) do
begin
read(fbaz,ff);
if filepos(fbaz)<>nom+1 then write(f2,ff);
end;
Close(fbaz);
Close(f2);
erase(fbaz);
rename(f2,'UEFA.txt');
End;
Приложение 6
Procedure korrekt;
Begin
repeat
clrscr;
reset(fbaz);
seek(fbaz,nom);
read(fbaz,ff);
Write('Название команды - ');
writeln(Ff.Nazvanie);
Write('Год основания - ');
Writeln(Ff.God);
Write('Главный тренер команды - ');
Writeln(Ff.Trener);
Write('Стадион команды - ');
Writeln(Ff.Stadion);
Write('Вместительность стадиона - ');
Writeln(Ff.Mesto);
Write('Последний год победы в УЕФА - ');
writeln(Ff.UEFA);
Write('Последний год победы в стране - ');
Writeln(Ff.Strana);
Write('ESC-Выход');
Write('Номер команды - ',nom+1);
write('Какую характеристику вы бы хотели изменить?');
h:=readkey;
case h of
'1':begin write('1-Название команды - ');
Readln(Ff.Nazvanie);
end;
'2':begin Write('2-Год основания команды - ');
Readln(Ff.God);
end;
'3':begin Write('3-Главный тренер команды - ');
Readln(Ff.Trener);
end;
'4':begin Write('4-Стадион команды - ');
Readln(Ff.Stadion);
end;
'5':begin Write('5-Вместительность стадиона - ');
Readln(Ff.Mesto);
end;
'6':begin write('6-Последний год победы в УЕФА - ');
Readln(Ff.UEFA);
end;
'7':begin Write('7-Послений год выигрыша в стране - ');
Readln(Ff.Strana);
end;
#27: exit;
end;
clrscr;
seek(fbaz,nom);
write(fbaz,ff);
until h=#27;
close(fbaz);
clrscr;
End;
Приложение 7
Листинг программы:
Program FUTBOL;
uses crt;
type
el=^baz;
baz=record
Nazvanie:string[30];
God:string[30];
Trener:string[30];
Stadion:string[30];
Mesto:string[30];
UEFA:string[30];
Strana:string[30];
next:el;
end;
var
fbaz,f2:file of baz;
h:char;
nom:integer;
ff:baz;
Procedure dobav;
Begin
assign(fbaz,'UEFA.txt');
reset(fbaz);
Seek(Fbaz,filesize(fbaz));
textcolor(15);
Writeln('Название команды ',filesize(fbaz)+1);
write('Название - ');
readln(Ff.Nazvanie);
Write('Год основания - ');
readln(Ff.God);
Write('Главный тренер команды - ');
readln(Ff.Trener);
Write('Стадион команды - ');
readln(Ff.Stadion);
Write('Вместительность стадиона - ');
readln(Ff.Mesto);
Write('Последний год победы в УЕФА - ');
readln(Ff.UEFA);
Write('Последний год выигрыша в стране - ');
readln(Ff.Strana);
Write(Fbaz,ff);
Close(Fbaz);
clrscr;
End;
Procedure korrekt;
Begin
repeat
clrscr;
reset(fbaz);
seek(fbaz,nom);
read(fbaz,ff);
Write('Название команды - ');
writeln(Ff.Nazvanie);
Write('Год основания - ');
Writeln(Ff.God);
Write('Главный тренер команды - ');
Writeln(Ff.Trener);
Write('Стадион команды - ');
Writeln(Ff.Stadion);
Write('Вместительность стадиона - ');
Writeln(Ff.Mesto);
Write('Последний год победы в УЕФА - ');
writeln(Ff.UEFA);
Write('Последний год победы в стране - ');
Writeln(Ff.Strana);
Write('ESC-Выход');
Write('Номер команды - ',nom+1);
write('Какую характеристику вы бы хотели изменить?');
h:=readkey;
case h of
'1':begin write('1-Название команды - ');
Readln(Ff.Nazvanie);
end;
'2':begin Write('2-Год основания команды - ');
Readln(Ff.God);
end;
'3':begin Write('3-Главный тренер команды - ');
Readln(Ff.Trener);
end;
'4':begin Write('4-Стадион команды - ');
Readln(Ff.Stadion);
end;
'5':begin Write('5-Вместительность стадиона - ');
Readln(Ff.Mesto);
end;
'6':begin write('6-Последний год победы в УЕФА - ');
Readln(Ff.UEFA);
end;
'7':begin Write('7-Послений год выигрыша в стране - ');
Readln(Ff.Strana);
end;
#27: exit;
end;
clrscr;
seek(fbaz,nom);
write(fbaz,ff);
until h=#27;
close(fbaz);
clrscr;
End;
Procedure vivod;
var
k: integer;
tab: baz;
begin
k:=0;
assign(fbaz,'UEFA.txt');
reset(fbaz);
clrscr;
writeln('UEFA');
while not eof (fbaz) do
begin
k:=k+1;
read(fbaz,tab);
textcolor(10);
writeln('Команда № ',k);
writeln('Название команды: ',tab.Nazvanie);
writeln('Год основания команды: ',tab.God);
writeln('Главный тренер команды: ',tab.Trener);
writeln('Стадион: ',tab.Stadion);
writeln('Вместительность стадиона : ',tab.Mesto);
writeln('Последний год победы в UEFA: ',tab.UEFA);
writeln('Последний год выигрыша в стране: ',tab.Strana);
writeln('_______Enter - следующая команда_______');
readln;
end;
close(fbaz);
end;
Procedure Sort;
var st,a,b:baz;
i,j:byte;
begin
assign(fbaz,'UEFA.txt');
reset(fbaz);
for i:=0 to filesize(fbaz)-2 do
for j:=i+1 to filesize(fbaz)-1 do
begin
seek(fbaz,i);
read(fbaz,a);
seek(fbaz,j);
read(fbaz,b);
if a.Nazvanie>b.Nazvanie then
begin
st:=a;
a:=b;
b:=st;
seek(fbaz,i);
write(fbaz,a);
seek(fbaz,j);
write(fbaz,st);
end;
end;
close(fbaz);
end;
Procedure Poisk;
var
a:baz;
fir:string;
i:integer;
begin
clrscr;
write('Введите название команды которую бы хотите найти: ');
readln(fir);
assign(fbaz,'UEFA.txt');
reset(fbaz);
for i:=1 to filesize(fbaz) do
begin
read(fbaz,a);
if pos(upcase(fir),upcase(a.Nazvanie))<>0 then
begin
writeln('Название команды: ',a.Nazvanie);
writeln('Год основания команды: ',a.God);
writeln('Главный тренер:',a.trener);
writeln('Стадион: ',a.Stadion);
writeln('Вместительность стадиона: ',a.Mesto);
writeln('Последний год победы в UEFA: ',a.UEFA);
writeln('Последний год выигрыша в стране: ',a.Strana);
readln;
end
else
write('');
end;
close(fbaz);
end;
Procedure ydal;
Begin
clrscr;
assign(f2,'delit.txt');
Reset(Fbaz);
rewrite(f2);
Seek(fbaz, 0);
while not eof(fbaz) do
begin
read(fbaz,ff);
if filepos(fbaz)<>nom+1 then write(f2,ff);
end;
Close(fbaz);
Close(f2);
erase(fbaz);
rename(f2,'UEFA.txt');
End;
begin
assign(fbaz,'UEFA.txt');
reset(fbaz);
repeat
clrscr;
textcolor(15);
writeln('Выберите пункт меню');
reset(fbaz);
if IOresult<>0 then rewrite(fbaz);
close(fbaz);
writeln('1.Добавить команду');
writeln('2.Изменить команду' );
writeln('3.Показать весь список команд');
writeln('4.Сортировать список');
writeln('5.Удалить футбольную команду');
Writeln('6.Поиск команды');
Writeln('7.Выход');
writeln('Выберите номер пункта и нажмите Enter ');
h:=readkey;
case h of
'1': begin dobav;
end;
'2': begin
writeln;
write('Изменение в какую команду вы бы хотели внести? - ');
read(nom); nom:=nom-1;
korrekt;
end;
'3':begin vivod;
end;
'4':begin sort;end;
'5': begin
writeln;
write('Какую команду вы бы хотели удалить???=');
read(nom); nom:=nom-1;
ydal;
end;
'6':begin poisk;
end;
end;
until h='7';
end.