Проанализировать содержимое текстового файла - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Создайте текстовый файл с примерным содержанием: 2 яблока стоят 34,58 рублей. 3 бутылки молока стоят 125,10 рублей. 2 булки хлеба стоят 48,50 рублей. Проанализировать содержимое файла. Создать программу, которая дополнит текстовый файл предложением: Всего за … товаров … наименований надо заплатить … рублей Есть часть программы, но она неполная и если совсем не то, то дополнять не надо

Решение задачи: «Проанализировать содержимое текстового файла»

textual
Листинг программы
var f: text;
    k_tov,k_nam,x,i: integer;
    stm,y: real;
    s: string;
begin
assign(f,'Pokupki.txt');
reset(f);
k_tov:=0;
k_nam:=0;
stm:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(k_nam);
  x:=strtoint(copy(s,1,pos(' ',s)-1));
  inc(k_tov,x);
  delete(s,1,pos(' ',s));
  while not(s[1] in ['0'..'9'])do delete(s,1,1);
  y:=strtofloat(copy(s,1,pos(' ',s)-1));
  stm:=stm+y;
 end;
append(f);
writeln(f,'');
writeln(f, 'Всего куплено ', k_tov,' товаров, ',k_nam,' наименований на сумму ',stm:0:2,' рублей.');
close(f);
end.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • f: text; - файл
    • k_tov, k_nam, x, i: integer; - целочисленные переменные
    • stm, y: real; - вещественные переменные
    • s: string; - строковая переменная
  2. Файл открывается на чтение с помощью функции assign(f, 'Pokupki.txt')
  3. Используя цикл while и функцию readln(f, s), происходит чтение строки из файла до тех пор, пока не достигнется конец файла (eof(f) = false).
  4. Из каждой строки с помощью функции strtoint(copy(s, 1, pos(' ', s) - 1)) извлекается целочисленное значение, увеличивая при этом счетчик k_tov на это значение.
  5. Строка s очищается от числового значения с помощью функции delete(s, 1, pos(' ', s) - 1).
  6. С помощью цикла while и функции delete(s, 1, 1), удаляются все символы, кроме цифр, из строки s.
  7. Извлекается вещественное значение из строки s с помощью функции strtofloat(copy(s, 1, pos(' ', s) - 1)).
  8. Значение y добавляется к общей сумме stm.
  9. После окончания цикла выводится сообщение с общим количеством купленных товаров k_tov, количеством наименований k_nam и общей суммой stm.
  10. Файл закрывается с помощью функции close(f).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5