Волжский университет имени В.Н.Татищева
Кафедра “Информатика и системы управления”
КУРСОВАЯ РАБОТА
по дисциплине: “Динамические переменные”
Тема: “Автосалон”
Выполнил: студент гр. ХХХ
ХХХ
Преподаватель: ХХХ
Тольятти 2005
Волжский университет имени В.Н.Татищева
Кафедра “Информатика и системы управления”
Специальность: 220100 “Вычислительные машины, комплексы, системы и сети”
ЗАДАНИЕ
на курсовой проект по дисциплине
“Динамические переменные”
Студенту__________________________________________________________
Группа____________________________________________________________
Тема проекта_______________________________________________________
Календарный график задания_________________________________________
__________________________________________________________________
СОДЕРЖАНИЕ ЗАДАНИЯ
__________________________________________________________________
Руководитель курсовой работы:
Студент: ХХХ
-
описание предметной области.
В нашем мире существует множество заводов по производству автомобилей. И их продажа естественно осуществляется разными фирмами и салонами. Автосалон предназначен для продажи и показа машин. В автомобильном салоне можно выбрать любую из имеющеюся в продаже машину, а также существует и множество разнообразного тюнинга, как под заказ так и уже готового. После выбора наиболее понравившееся клиенту машину следует оформить для продажи. То есть подготовить и оформить множество бумажных документов. Это все можно осуществить прямо в том же автосалоне. Что существенно облегчает беготню клиента для оформления документов в разных местах. Но все же бумажные документы занимают много времени и места. Поэтому с внедрением компьютерной техники эта проблема решается довольно-таки просто. Но для компьютера нужно специальное программное обеспечение, где и предоставляет свои возможности данная программа. Это программа, под названием «Автосалон», под руководством пользователя осуществляет продажу, поиск как клиента так и автомобиль для данного клиента, удаление из базы данных ненужного клиента или проданный автомобиль, но также и можно просмотреть любую информацию по клиенту или по автомобилю в специальном поле меню по любым запросам. В данной программе имеется хороший дизайн и довольно таки легкое в обращении меню пользования. Что существенно облегчает работу пользователя.
-
Описание алгоритма задачи.
Для запуска программы необходимо запустить файл 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.