Выбор языка и среды разработки 2Техническое задание 10



страница10/11
Дата13.12.2022
Размер0,55 Mb.
#196694
ТипТехническое задание
1   2   3   4   5   6   7   8   9   10   11
Связанные:
Курсовая работа ООАиП (Деятельность салона красоты)

procedure ResFile(var f: c_file);
begin
if not fileexists(fname) then
begin
writeln('Файл ', fname, ' не найден!');
readln;
exit;
end;
reset(f);
end;

{ добавление одной записи }


procedure AddClient(var f: c_file);
var
gm1, gm2: client;
canWrite: boolean;
begin
ResFile(f);
writeln('Введите данные о клиенте: ');
with gm1 do
begin
write(' ФИО: ');
readln(name);
write(' Услуга: ');
readln(service);
write(' Год: ');
readln(date.year);
write(' Месяц: ');
readln(date.month);
write(' День: ');
readln(date.day);
write(' Часы: ');
readln(date.hh);
write(' Минуты: ');
readln(date.mm);
write(' Стоимость услуги в рублях: ');
readln(price);
end;
canWrite := true;
while not eof(f) do
begin
read(f, gm2);
if (gm1.date.year = gm2.date.year) and (gm1.date.month = gm2.date.month) and
(gm1.date.day = gm2.date.day) and (abs(gm1.date.hh * 60 + gm1.date.mm -
gm2.date.hh * 60 - gm2.date.mm) < 45) then
begin
writeln('Уже есть запись на это время!');
canWrite := false;
break;
end;
end;
if canWrite then
begin
seek(f, filesize(f)); { переход в конец файла}
write(f, gm1); { запись данных в файл }
close(f);
write('Добавление записи завершено. . . ');
readln;
end;
readln;
end;

{ процедура редактирования записи }


procedure EditClient(var f: c_file);
var
n: integer;
gm: client;
begin
write('Редактировать запись под номером: ');
readln(n);
ResFile(f);
if (filesize(f) < n) or (n < 0) then { если № отрицательный или больше, чем записей в файле}
begin
writeln('В файле нет такой записи. . . ');
close(f);
readln;
exit;
end;
writeln('Введите новые данные: ');
with gm do
begin
write(' ФИО: ');
readln(name);
write(' Услуга: ');
readln(service);
write(' Год: ');
readln(date.year);
write(' Месяц: ');
readln(date.month);
write(' День: ');
readln(date.day);
write(' Часы: ');
readln(date.hh);
write(' Минуты: ');
readln(date.mm);
write(' Стоимость услуги в рублях: ');
readln(price);
end;
seek(f, n - 1); { на 1 меньше, отсчет с нуля }
write(f, gm); { записываем новые данные }
close(f);
write('Редактирование записи завершено. . . ');
readln;
end;

{ удаление записи }


procedure RemoveClient(var f: c_file);
var
n, i: integer;
gm: client;
begin
write('Удалить запись под номером: ');
readln(n);
ResFile(f);
if (filesize(f) < n) or (n < 0) then
begin
writeln('В файле нет такой записи. . . ');
close(f);
readln;
exit;
end;
seek(f, n - 1);
for i := n - 1 to filesize(f) - 2 do { сдвиг хвоста файла вверх, запись исчезает }
begin
seek(f, i + 1);
read(f, gm);
seek(f, i);
write(f, gm);
end;
seek(f, filesize(f) - 1); { переход к месту за последней записью }
truncate(f); { обрезка файла }
close(f);
write('Удаление записи завершено. . . ');
readln;
end;


procedure PrintTable;{ вспомогательная процедура для рисования заголовка расписания }
begin
writeln;
writeln('---------------------------------------------------------------------------------------------------------------------------------');
writeln('| ФИО | Услуга | Дата | Время | Стоимость, руб. ');
writeln('---------------------------------------------------------------------------------------------------------------------------------');


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   10   11




База данных защищена авторским правом ©psihdocs.ru 2023
обратиться к администрации

    Главная страница