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