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

лабы / лаб7 / lab7

.pas
Скачиваний:
5
Добавлен:
07.06.2023
Размер:
1.92 Кб
Скачать
program lab7;
uses sysutils;
const
cols = 5;
need_col = 5;
type
arr_str = array[1..cols] of string;
var
f: TextFile;
fname: string;
x: string;
Code: integer;
temp_v: longint;
temp_arr: arr_str;
temp_cost_str: string;
all_sum: longint = 0;

function replaceStr(s,r,j:string):string;
var temp_pos: integer;
begin
temp_pos := pos(r,s);
delete(s,temp_pos,length(r));
insert(j,s,temp_pos);

replaceStr := s;
end;

function deleteSpaces(s:string):string;
var i: integer;
begin
for i:=1 to Length(s) do
begin
if (s[i] = ' ') then s := replaceStr(s,' ','');
end;

deleteSpaces := s;
end;

function makeArrFromStr(s:string):arr_str;
var
i: integer;
ni: integer = 1;
temp_s: string = '';
result: arr_str;

begin
for i:=1 to Length(s) do
begin
if ((s[i] = '|') or (i = Length(s))) then
begin
if (i = Length(s)) then temp_s := temp_s + s[Length(s)];
result[ni] := temp_s;
ni := ni + 1;
temp_s := '';
end
else temp_s := temp_s + s[i];
end;

makeArrFromStr := result;
end;

begin
Write('Введите название файла: '); ReadLn(fname);
if (not FileExists(fname)) then
begin
WriteLn('Такого файла не существует.');
exit;
end;
assign(f,fname);
reset(f);
ReadLn(f,x);
while (not eof(f)) do
begin
ReadLn(f,x);

temp_arr := makeArrFromStr(x);

temp_cost_str := replaceStr(temp_arr[need_col],'рублей','');

temp_cost_str := deleteSpaces(temp_cost_str);

val(temp_cost_str,temp_v,Code);
if (Code <> 0) then WriteLn(Code);

all_sum := all_sum + temp_v;
end;
WriteLn('суммарные затраты на приобретение: ', all_sum, ' рублей');
close(f);
end.
Соседние файлы в папке лаб7