Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Паскаль / курсовые / автосалон

.doc
Скачиваний:
29
Добавлен:
10.12.2013
Размер:
145.92 Кб
Скачать

Волжский университет имени В.Н.Татищева

Кафедра “Информатика и системы управления”

КУРСОВАЯ РАБОТА

по дисциплине: “Динамические переменные”

Тема: “Автосалон”

Выполнил: студент гр. ХХХ

ХХХ

Преподаватель: ХХХ

Тольятти 2005

Волжский университет имени В.Н.Татищева

Кафедра “Информатика и системы управления”

Специальность: 220100 “Вычислительные машины, комплексы, системы и сети”

ЗАДАНИЕ

на курсовой проект по дисциплине

Динамические переменные”

Студенту__________________________________________________________

Группа____________________________________________________________

Тема проекта_______________________________________________________

Календарный график задания_________________________________________

__________________________________________________________________

СОДЕРЖАНИЕ ЗАДАНИЯ

__________________________________________________________________

Руководитель курсовой работы:

Студент: ХХХ

  1. описание предметной области.

В нашем мире существует множество заводов по производству автомобилей. И их продажа естественно осуществляется разными фирмами и салонами. Автосалон предназначен для продажи и показа машин. В автомобильном салоне можно выбрать любую из имеющеюся в продаже машину, а также существует и множество разнообразного тюнинга, как под заказ так и уже готового. После выбора наиболее понравившееся клиенту машину следует оформить для продажи. То есть подготовить и оформить множество бумажных документов. Это все можно осуществить прямо в том же автосалоне. Что существенно облегчает беготню клиента для оформления документов в разных местах. Но все же бумажные документы занимают много времени и места. Поэтому с внедрением компьютерной техники эта проблема решается довольно-таки просто. Но для компьютера нужно специальное программное обеспечение, где и предоставляет свои возможности данная программа. Это программа, под названием «Автосалон», под руководством пользователя осуществляет продажу, поиск как клиента так и автомобиль для данного клиента, удаление из базы данных ненужного клиента или проданный автомобиль, но также и можно просмотреть любую информацию по клиенту или по автомобилю в специальном поле меню по любым запросам. В данной программе имеется хороший дизайн и довольно таки легкое в обращении меню пользования. Что существенно облегчает работу пользователя.

  1. Описание алгоритма задачи.

Для запуска программы необходимо запустить файл AVTOSALON.exe, расположенный в директории AVTOSALON.

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

1 – «Зарегистрировать» - регистрирует новый автомобиль, приобретенный автосалоном. Нажатие клавиши «Ввод» на этом пункте, приведет к появлению подсказки, которая говорит какую информацию нужно написать в данный момент. Эта информация состоит из следующих полей, которые нужно заполнить: модель, цвет, цена (оптовая), цена (розничная), номер кузова и номер двигателя.

2 – «Автосалон» - Нажатие клавиши «Ввод» на этом пункте, приведет к появлению всего списка автомобилей автосалона в отсортированном порядке по моделям.

3 – «Клиент» - Нажатие клавиши «Ввод» на этом пункте, приведет к выводу всего списка клиентов автосалона в отсортированном порядке, по дате продажи;

4 – «Продажа» - Нажатие клавиши на этом пункте, приведет к появлению запроса о вводимой информации о покупателе для продажи ему выбранного им автомобиля.

5 – «Поиск» - Нажатие клавиши на этом пункте приведет к окну, где по введенной фамилии выдается вся информация о клиенте.

6 – «Анализ» - Нажатие клавиши на этом пункте приведет к выдаче информации по заданному пользователем параметру, например, прибыль салона за прошедший месяц

7 – «Выход» - Нажатие клавиши «Ввод» на этом пункте приведет к завершению работы программы с сохранением всех изменений.

При запуске программы в оперативной памяти создаются две базы автосалон и клиент. Информация хранится в файлах avtosalon.dat и klient.dat соответственно. Информация о каждом клиенте, в случае покупки автомобиля в автосалоне вводится в диалоге по запросам программы в базу клиент. Можно вывести список всех клиентов фирмы в отсортированном по алфавиту порядке. Во время работы дополнение базы, удаление из базы и поиск осуществляются в файле. Перед тем как завершить свое выполнение, после команды пользователя программа сохраняет все данные в соответствующих файлах. Этот алгоритм осуществляется с помощью следующих процедур:

SortkleentFile – процедура для сортирования файла клиент в алфавитном порядке.

SortAvtoFile – процедура для сортирования файла авто в алфавитном порядке.

DelInFile – процедура служащая для удаления элемента из файла.

File_test – процедура которая осуществляет проверку файла на существование.

GoToAvto – процедура для меню «Авто».

GoToKleent – процедура для меню «Клиент».

Mode_avtoFile – процедура создания файла Автосалон.

AddToAvtoFile – процедура для создания файла Автомобиль, где в него будет заноситься информация о автомобиле.

Mode_KleentFile – процедура создания файла Клиент.

AddtoKleentFile – процедура для вывода на экран подсказки о вводимой информации о клиенте и запоминания этой информации в файл.

List_fileAvto – процедура для чтения файла Avtosalon.dat

List_fileKleent – процедура для чтения файла kleent.dat

InitProg – процедура для выдачи на экран сообщения о нахождении или отсутствии файла Клиент и Автосалон.

Menu – процедура осуществляющая работоспособность и перемещение по пунктам меню.

Itog – процедура для подсчета и выдачи итога на экран.

Основная часть программы – здесь организуется управление меню и вызов основных 5 процедур.

.

ЛИСТИНГ ПРОГРАММЫ

uses crt,dos;

const menu1:array[0..3] of string=('Автосалон','Клиент','Анализ','Выход');

menu2:array[0..2] of string=('Зарегистрировать автомобиль',

'Просмотреть список','Удалить из списка');

menu3:array[0..2] of string=('Данные о покупателе',

'Просмотреть список','Редактировать список');

type

KleentType=record

RegNomCl:byte;

FIOCl:string;

Pasport:string;

Data:integer;

model:Integer;

Color:string;

cenaRozn:real;

NomCuzow:string;

NomDrv:string;

end;

AvtoType=record

Model:Integer;

Color:string;

cenaOpt:real;

cenaRozn:real;

NomCuzow:string;

NomDrv:string;

end;

var

Kleent:KleentType; KleentFile:file of KleentType;

avto,av:avtoType; avtoFile:file of avtoType;

m1, m2, m3, kod:integer;

bool:boolean;

ch:char;

i:integer;

procedure sortKleentFile;

type

klStr=^kleentstreem;

kleentstreem=record

kl:KleentType;

next:Klstr;

end;

var

news, root, temp, first:klStr;

e,i,col:integer;

begin

assign(KleentFile,FExpand('Kleent.dat'));

reset(KleentFile);

col:=0;{начальные параметры}

root:=nil;{текущий эл.списка пустой }

while not eof(kleentFile)do

begin{повтор}

read(Kleentfile,Kleent);

inc(col); {увеличение счётчика}

temp:=root;{временный:=текущий}

new(root);{создание нового элемента}

with root^ do{обращение к полям элемента}

begin

kl:=kleent;

next:=temp;{следующий:=временный}

end;

end;

first:=root;{первый:=текущий}

new(news);

root:=First;

temp:=nil;

news:=nil;

i:=0;

repeat

i:=0;

root:=First;

temp:=nil;

news:=nil;

while (root<>nil)and(root^.kl.Data<=root^.next^.kl.Data) do

begin

inc(i);

temp:=root;

root:=temp^.next;

end;

if root=First then

begin

first:=root^.next;

news:={элемент кот надо вставить}root;

root:=first^.next;

end

else

begin

temp^.next:=root^.next;

news:={элемент кот надо вставить}root;

root:=temp^.next;

end;

root:=First;

temp:=nil;

while (root<>nil)and(root^.kl.Data<=news^.kl.Data) do

begin

temp:=root;

root:=temp^.next;

end;

if temp=nil then

begin

news^.next:=first;

first:=news;

end

else

begin

news^.next:=temp^.next;

temp^.next:=news;

end;

until i>=col-1;

seek(KleentFile,0);

root:=first;{текущий:=первый}

while root<>nil do{до тех пор пока текущий не пустой }

begin

inc(e);{переменная е = номер строки}

temp:=root^.next;{временный:=след. текущего}

with root^ do

begin

Kleent:=Root^.kl;

write(KleentFile,kleent);

Root:=temp;

end;

end;

close(KleentFile);

end;

procedure sortAvtoFile;

type

avStr=^avtostreem;

avtostreem=record

av:avtoType;

next:avstr;

end;

var

news, root, temp, first:avStr;

e,i,col:integer;

begin

assign(AvtoFile,FExpand('avtosalon.dat'));

reset(AvtoFile);

col:=0;{начальные параметры}

root:=nil;{текущий эл.списка пустой }

while not eof(AvtoFile)do

begin{повтор}

read(Avtofile,Avto);

inc(col); {увеличение счётчика}

temp:=root;{временный:=текущий}

new(root);{создание нового элемента}

with root^ do{обращение к полям элемента}

begin

av:=Avto;

next:=temp;{следующий:=временный}

end;

end;

first:=root;{первый:=текущий}

new(news);

root:=First;

temp:=nil;

news:=nil;

i:=0;

repeat

i:=0;

root:=First;

temp:=nil;

news:=nil;

while (root<>nil)and(root^.av.model<=root^.next^.av.model) do

begin

inc(i);

temp:=root;

root:=temp^.next;

end;

if root=First then

begin

first:=root^.next;

news:={элемент кот надо вставить}root;

root:=first^.next;

end

else

begin

temp^.next:=root^.next;

news:={элемент кот надо вставить}root;

root:=temp^.next;

end;

root:=First;

temp:=nil;

while (root<>nil)and(root^.av.model<=news^.av.model) do

begin

temp:=root;

root:=temp^.next;

end;

if temp=nil then

begin

news^.next:=first;

first:=news;

end

else

begin

news^.next:=temp^.next;

temp^.next:=news;

end;

until i>=col-1;

begin

e:=0;

clrscr;

root:=first;{текущий:=первый}

seek(AvtoFile,0);

while root<>nil do{до тех пор пока текущий не пустой }

begin

inc(e);{переменная е = номер строки}

temp:=root^.next;{временный:=след. текущего}

with root^ do

begin

Avto:=Root^.av;

write(AvtoFile,Avto);

dispose(root);

Root:=temp;

end;

end;

end;

close(AvtoFile);

end;

procedure DelInFile(var n:integer;flag:boolean);

{Процедура удаления эл из файла}

begin

if flag then

begin

assign(AvtoFile,fexpand('Avtosalon.dat'));

reset(AvtoFile);

seek(AvtoFile,n);

if not eof(AvtoFile) then

begin

while not eof(AvtoFile) do

begin

read(AvtoFile,Avto);

seek(AvtoFile,n-1);

write(AvtoFile,Avto);

inc(n);

seek(AvtoFile,n);

end;

seek(Avtofile,filesize(Avtofile)-1);

truncate(Avtofile);

end

else

begin

seek(Avtofile,filesize(Avtofile)-1);

truncate(Avtofile);

end;

close(AvtoFile);

end

else

begin

assign(KleentFile,fexpand('Kleent.dat'));

reset(KleentFile);

seek(KleentFile,n);

if not eof(KleentFile) then

begin

while not eof(KleentFile) do

begin

read(KleentFile,Kleent);

seek(KleentFile,n-1);

write(KleentFile,Kleent);

inc(n);

seek(KleentFile,n);

end;

seek(Kleentfile,filesize(Kleentfile)-1);

truncate(Kleentfile);

end

else

begin

seek(Kleentfile,filesize(Kleentfile)-1);

truncate(Kleentfile);

end;

close(KleentFile);

end;

end;

procedure vvod_str(x,y:integer;mess:string;var str:string);

begin

repeat

{$i-}

gotoxy(x,y);clreol;

write(mess,' '); readln(str);

{$i+}

until ioresult=0;

end;

procedure vvod_Int(x,y:integer;mess:string;var Int:integer);

begin

repeat

{$i-}

gotoxy(x,y);clreol;

write(mess,' '); readln(Int);

{$i+}

until ioresult=0;

end;

procedure vvod_Real(x,y:integer;mess:string;var Re:real);

begin

repeat

{$i-}

gotoxy(x,y);clreol;

write(mess,' '); readln(re);

{$i+}

until ioresult=0;

end;

function File_test(Filename:string):boolean;{проверка на существование файла}

var f:file;

begin

assign(F,Filename);

{$I-}

reset(F);

if ioresult=0 then

begin

close(f);

file_test:=true

end

else file_test:=false;

{$I-}

end;

procedure GoToAvto(tbg,tc,x,y,str:integer;var n:integer;var Flag:boolean);

var {процедура меню}

i,a,col,int:integer;

c:char;

cur:AvtoType;

begin

flag:=true;

col:=0;

assign(AvtoFile,FExpand('avtosalon.dat'));

reset(AvtoFile);

textbackground(tbg);

clrscr;

textcolor(tc);

a:=0;

col:=0;

i:=0;

int:=0;

while not eof(avtoFile) do

begin

inc(col);

read(avtofile,avto);

end;

repeat

i:=0;

seek(Avtofile,0);

while not eof(avtoFile) do

begin

seek(AvtoFile,int*str+i);

read(AvtoFile,avto);

if a=i then

begin

n:=int*str+i;

textbackground(4);

end

else textbackground(tbg);

if i<str then

begin

with avto do

begin

gotoxy(x,y+i); write('model ',Model);

end;

end;

inc(i);

end;

c:=readkey;

if c=#0 then c:=readkey;

case c of

#80:begin

inc(a);

if ((a mod str)=0)or((int*str+a>=col)) then

begin

clrscr;

if int*str+a>=col then int:=0

else inc(int);

textBackground(tbg);

clrscr;

a:=0;

end;

end;

#72:begin

dec(a);

if ((a+1 mod str)=0)or((int*str+a<0)) then

begin

clrscr;

if ((int*str+a<0)) then

begin

int:=(col div str);

a:=(col mod str)-1;

end

else

begin

dec(int);

a:=str-1;

Write('33');

end;

textbackground(tbg);

end;

end;

#13:exit;

end

until c=#27;

if c=#27 then flag:=false;

close(avtofile);

end;

procedure GoToKleent(tbg,tc,x,y,str:integer;var n:integer;var Flag:boolean);

var {процедура меню}

i,a,col,int:integer;

c:char;

cur:AvtoType;

begin

flag:=true;

col:=0;

assign(KleentFile,FExpand('Kleent.dat'));

reset(KleentFile);

seek(KleentFile,0);

textbackground(tbg);

clrscr;

textcolor(tc);

a:=0;

if flag and (n<>0) then a:=n;

col:=0;

i:=0;

int:=0;

while not eof(KleentFile) do

begin

read(Kleentfile,Kleent);

inc(col);

end;

repeat

i:=0;

seek(Kleentfile,0);

while not eof(KleentFile) do

begin

seek(KleentFile,int*str+i);

read(KleentFile,Kleent);

if a=i then

begin

n:=int*str+i;

textbackground(4);

end

else textbackground(tbg);

if i<str then

with kleent do

begin

gotoxy(x,y+i); write('ФИО: ',FIOcl);

end;

inc(i);

end;

c:=readkey;

if c=#0 then c:=readkey;

case c of

#80:begin

inc(a);

if ((a mod str)=0)or((int*str+a>=col)) then

begin

clrscr;

if int*str+a>=col then int:=0

else inc(int);

textBackground(tbg);

clrscr;

a:=0;

end;

end;

#72:begin

dec(a);

if ((a+1 mod str)=0)or((int*str+a<0)) then

begin

clrscr;

if ((int*str+a<0)) then

begin

int:=(col div str);

a:=(col mod str)-1;

end

else

begin

dec(int);

a:=str-1;

end;

textbackground(tbg);

end;

end;

#13:exit;

end

until c=#27;

if c=#27 then flag:=false;

close(Kleentfile);

end;

procedure mode_avtoFile;{Процедура создания файла}

begin

assign(avtoFile,FExpand('avtosalon.dat'));

rewrite(avtoFile);

repeat

with avto do

begin

clrscr;

Vvod_Int(3,1,'Модель',Model);

Vvod_str(3,2,'Цвет',Color);

Vvod_Real(3,3,'Цена(опт.)',CenaOpt);

CenaRozn:=0;

Vvod_str(3,4,'№ кузова ', NomCuzow);

Vvod_str(3,5,'№ двигателя',NomDrv);

end;

write(avtoFile,avto);

write('Окончание - esc, продолжение - любая другая клавеша');

until readkey=#27;

close(avtoFile);

writeln;

write('Файл создан');

readkey;

end;

procedure AddToAvtoFile;{Процедура создания файла}

begin

assign(avtoFile,FExpand('avtosalon.dat'));

reset(avtoFile);

seek(avtoFile,filesize(avtoFile));

repeat

writeln('Окончание - esc, продолжение - любая другая клавеша');

with avto do

begin

clrscr;

Vvod_Int(3,1,'Модель',Model);

Vvod_str(3,2,'Цвет',Color);

Vvod_Real(3,3,'Цена(опт.)',CenaOpt);

CenaRozn:=0;

Vvod_str(3,4,'№ кузова ', NomCuzow);

Vvod_str(3,5,'№ двигателя',NomDrv);

end;

write(avtoFile,avto);

writeln('Окончание - esc, продолжение - любая другая клавеша');

until readkey=#27;

close(avtoFile);

writeln;

write('Файл создан');

readkey;

end;

procedure mode_KleentFile;{Процедура создания файла}

begin

assign(KleentFile,FExpand('Kleent.dat'));

rewrite(KleentFile);

repeat

with Kleent do

begin

textbackground(0);

clrscr;

Vvod_str(1,1,'ФИО',FIOCl);

Vvod_str(1,2,'Паспортные данные ',Pasport);

Vvod_int(1,3,'Дата покупки ',Data);

window(1,2,79,24);

gotoAvto(0,15,30,1,20,kod,bool);

clrscr;

if bool then

begin

assign(avtoFile,FExpand('avtosalon.dat'));

if File_test(FExpand('avtosalon.dat')) then reset(avtoFile)

else

begin

writeln('Отсутствует файл данных по автосалону');

exit;

end;

Vvod_Real(1,4,'Цена(розн.) ',CenaRozn);

seek(avtoFile,kod-1);

read(avtofile,avto);

Avto.cenaRozn:=cenaRozn;

model:=avto.model;

color:=avto.color;

nomCuzow:=avto.nomCuzow;

nomDrv:=avto.nomDrv;

seek(avtoFile,kod-1);

write(KleentFile,Kleent);

write(AvtoFile,Avto)

end

else writeLN('Не выбрана модель');

end;

writeln('Окончание - esc, продолжение - любая другая клавеша');

until readkey=#27;

close(KleentFile);

close(AVTOFile);

write('Файл создан');

readkey;

end;

procedure AddtoKleentFile;{Процедура создания файла}

begin

assign(KleentFile,FExpand('Kleent.dat'));

reset(KleentFile);

seek(KleentFile,filesize(KleentFile));

assign(avtoFile,FExpand('avtosalon.dat'));

repeat

with Kleent do

begin

textbackground(0);

clrscr;

Vvod_str(1,1,'ФИО',FIOCl);

Vvod_str(1,2,'Паспортные данные ',Pasport);

Vvod_int(1,3,'Дата покупки ',Data);

window(1,2,79,24);

gotoAvto(0,15,30,1,20,kod,bool);

clrscr;

if bool then

begin

assign(avtoFile,FExpand('avtosalon.dat'));

if File_test(FExpand('avtosalon.dat')) then reset(avtoFile)

else

begin

writeln('Отсутствует файл данных по автосалону');

end;

Vvod_Real(1,4,'Цена(розн.) ',CenaRozn);

seek(avtoFile,kod);

read(AvtoFile,Avto);

Avto.cenaRozn:=cenaRozn;

model:=avto.model;

color:=avto.color;

nomCuzow:=avto.nomCuzow;

nomDrv:=avto.nomDrv;

seek(avtoFile,kod);

write(KleentFile,Kleent);

write(AvtoFile,Avto);

close(AvtoFile);

end

else writeLN('Не выбрана модель');

end;

writeln('Окончание - esc, продолжение - любая другая клавеша');

until readkey=#27;

close(KleentFile);

write('Файл редактирован');

readkey;

end;

procedure list_fileAvto; {Процедура чтения файла}

var s:integer;

begin

assign(AvtoFile,FExpand('avtosalon.dat'));

reset(AvtoFile);

write('Модель Цвет Цена(опт.) Цена(розн.) Нормер куз. Номер двиг. ');

window(1,3,79,24);

s:=0;

repeat

read(AvtoFile,Avto);

with Avto do

begin

GOTOXY(1,1+s); write(model);

GOTOXY(15,1+s);write(color);

GOTOXY(27,1+s);write(CenaOpt:9:2);

GOTOXY(41,1+s);write(CenaRozn:9:2);

GOTOXY(53,1+s);write(nomCuzow);

GOTOXY(67,1+s);writeln(NomDrv);

end;

If s=20 then

begin

write('Для продолжения нажмите любую клавшу');

readkey;clrscr;

s:=-1

end;

inc(s);

until eof(AvtoFile);

close(AvtoFile);

readkey;

end;

procedure list_fileKleent; {Процедура чтения файла}

var s:Integer;bool:boolean;

begin

assign(KleentFile,FExpand('kleent.dat'));

s:=0;

repeat

textbackground(0);

window(1,3,20,24);

GotoKleent(0,15,1,2,20,s,bool);

reset(KleentFile);

seek(KleentFile,s);

read(KleentFile,Kleent);

if bool then

begin

window(1,3,79,24);

textbackground(0);

clrscr;

with kleent do

begin

GOTOXY(35,3); write('ФИО ',FiocL);

GOTOXY(35,4); write('Паспортные данные ',Pasport);

GOTOXY(35,5); write('Дата покупки ',data);

GOTOXY(35,6); write('Модель ',model);

GOTOXY(35,7); write('Цена ',CenaRozn:9:2);

GOTOXY(35,8); write('Ном кузова ',nomCuzow);

GOTOXY(35,9); writeln('Ном.двигателя ',NomDrv);

end;

end;

close(KleentFile);

until not bool;

end;

procedure InitProg;

begin

clrscr;

if File_test(FExpand('avtosalon.dat')) then

begin

if not File_test(FExpand('Kleent.dat'))

then

begin

writeln('отсутствует файл "Klient.dat", создайте его');

readkey;

end

end

else

begin

writeln('отсутствует файл "avtosalon.dat", создайте его');

readkey;

end;

end;

procedure menu(tbg,tc,x,y,col:integer;mas:array of string;flag:boolean;var a:integer);

var {процедура меню}

i:integer;

c:char;

begin

a:=0;

textbackground(tbg);

clrscr;

textcolor(tc);

repeat

for i:=0 to (col-1) do

begin

if a=i then

textbackground(4)

else

textbackground(tbg);

if flag then gotoxy(x,y+i)

else gotoxy(x+i*20,y);

write(mas[i]);

end;

c:=readkey;

if c=#0 then c:=readkey;

if flag then

begin

case c of

#80:begin

inc(a);

if a>(col-1) then a:=0;

textbackground(tbg);

end;

#72:begin

dec(a);

if a<0 then a:=col-1;

textbackground(tbg);

end;

#13:exit;

end;

end

else

case c of

#77:begin

inc(a);

if a>(col-1) then a:=0;

textbackground(tbg);

end;

#75:begin

dec(a);

if a<0 then a:=col-1;

textbackground(tbg);

end;

#13:exit;

end;

until c=#27;

if c=#27 then a:=-1;

end;

procedure Itog(var year:integer);

var col:integer;

r:real;

b:boolean;

begin

r:=0;

col:=0;

b:=false;

assign(KleentFile,FExpand('Kleent.dat'));

reset(KleentFile);

clrscr;

while not eof(KleentFile) do

begin

read(Kleentfile,Kleent);

if year=kleent.data then

Begin

b:=true;

inc(col);

r:=r+kleent.CenaRozn;

end

end;

if b then

begin

writeln('В ',year,' году продано ',col,' автомобилей');

write('На общую сумму ',r:9:2,' руб.');

end

else

write('Данных нет');

end;

begin

initprog;

repeat

m1:=0;

window(1,1,79,25);

clrscr;

menu(0,15,1,1,4,menu1,false,m1);

case m1 of

0:begin

repeat

window(1,2,79,24);

clrscr;

window(1,2,30,15);

clrscr;

menu(0,15,1,1,3,menu2,true,m2);

case m2 of

0:begin

if File_test(FExpand('avtosalon.dat')) then

begin

writeln;

write('Файл существует. Перезаписать?(да-Y, добавить-A, нет-N)');

repeat

ch:=readkey;

until (ch=#89)or(ch=#121)or(ch=#97)or(ch=#65)or(ch=#78)or(ch=#110);

case ch of

#89:mode_avtoFile;

#121:mode_avtoFile;

#97:AddToAvtoFile;

#65:AddToAvtoFile;

end;

end

else mode_avtoFile;

sortAvtoFile;

end;

1:begin

window(1,2,79,25);

if File_test(FExpand('avtosalon.dat')) then

begin

sortAvtoFile;

clrscr;

list_fileAvto;

window(1,2,79,25);

clrscr

end

else

write('Файл не существует');

end;

2:begin

window(1,2,79,25);

if File_test(FExpand('avtosalon.dat')) then

begin

repeat

sortAvtoFile;

GotoAvto(0,15,5,5,20,kod,Bool);

inc(kod);

if bool then DelInfile(kod,true);

until not bool;

clrscr;

end

else write('Файл не существует');

end;

end;

until m2=-1;

end;

1:begin

repeat

window(1,2,79,24);

textbackground(0);

clrscr;

window(21,2,50,15);

clrscr;

menu(0,15,1,1,3,menu3,true,m3);

case m3 of

0:begin

clrscr;

window(1,2,30,15);

if File_test(FExpand('Kleent.dat')) then

begin

writeln;

write('Файл существует. Перезаписать?(да-Y, добавить-A, нет-N)');

repeat

ch:=readkey;

until (ch=#89)or(ch=#121)or(ch=#97)or(ch=#65)or(ch=#78)or(ch=#110);

case ch of

#89:mode_KleentFile;

#121:mode_KleentFile;

#97:AddToKleentFile;

#65:AddToKleentFile;

end;

end

else mode_KleentFile;

sortKleentFile;

clrscr;

end;

1:begin

window(1,2,80,25);

if File_test(FExpand('Kleent.dat')) then

begin

clrscr;

list_fileKleent;

clrscr;

end

else write('Файл не существует');

end;

2:begin

window(1,2,79,25);

if File_test(FExpand('Kleent.dat')) then

begin

repeat

GotoKleent(0,15,5,5,20,kod,Bool);

inc(kod);

if bool then DelInfile(kod,False);

until not bool;

sortKleentFile;

clrscr;

end

else write('Файл не существует');

end;

end;

until m3=-1;

end;

2:begin

Vvod_int(5,5,'Введите интересущий год',i);

Itog(i);

readkey

end;

3:m1:=-1;

end;

until m1 =-1;

end.

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