Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Работа с текстовым файлом

Автор: Олежик 14.03.2007 1:08

Ребят..
выручите плиз....
Меня из инста вышвырнут, если я её не сделаю.
Заранее спасибо!
Вот задача...
...
...
...
...
составить алгоритм и прогу определения по данным из таблицы банка, купившего акции на наибольшую сумму!!!
Таблица нах. в текст. файле list.txt ! Каждая строка таблицы содержит 4 поля. Первое - поле символьного типа, содержит название банка. Длина поля - 15 символов! Второе поле - символьного типа, содержит название компании, акции которого куплены банком. Длина поля - 20 символов. Третье поле - числового типа, содержит кол-во акций, купленных банком. Четвёртое поле - -числового типа, содержит стоимость одной акции в рублях.
Длина каждого из этих полей - 5 символов!!!!
...
...
Язык PASCAL!!!
=)

ПЛИЗ!!!

Автор: klem4 14.03.2007 1:57

Что конкретно вызывает затруднение ?

Автор: Олежик 14.03.2007 3:13

1.Текстовый файл создан....
2.не могу написать процедуру.
И немногго запутался с основной частью программы..
просто у нас такой учитель, который примеры не даёт..

Автор: Lapp 14.03.2007 3:17

Цитата(Олежик @ 13.03.2007 23:13) *

И немногго запутался с основной частью программы..

Приведи тут то, что есть. Распутаем smile.gif

Автор: Олежик 14.03.2007 3:30

Program...
var







Begin
clrscr;
writeln('Прога.....');
Assign(fl,’list.txt’);
{$I-} {выключить стандартную реакцию
на ошибку ввода/вывода}
reset(fl);
{$I+} {включить стандартную реакцию
на ошибку ввода/вывода}
if (IOResult<>0) then
writeln(’Ошибка открытия файла. Конец работы.’)
else begin
/////////////////

далее у меня текст выводится херово...
процедура тоже
М
1. Теги не забываем...
2. Не надо так эмоционально...
мисс_граффити


Автор: Олежик 14.03.2007 4:13

Так вы мне поможете?
Я тока завтра утро прогу перепишу..
заранее огромное спасибо!!!

Автор: hiv 14.03.2007 18:41

Цитата(Олежик @ 13.03.2007 23:30) *
далее у меня текст выводится херово...
процедура тоже
Текст с русскими символами? Если да, то в какой кодировке? win(cp1251) или dos(cp866)
Короче - если текст нормально читается в блокноте (notepad), то надо менять его кодировку с win на dos.

Автор: Олежик 20.03.2007 4:28

короче....
ребят....
вы мне поможетет процедуру написать?
и саму прогу?

Автор: Артемий2 20.03.2007 14:28

Олежик,для упрощения ты можешь дать нам этот txt файл,заранее с кодировкой дос!

Автор: Олежик 21.03.2007 3:23

вот оно...
ktz.txt(сделано в блокноте)
Прикрепленный файл  ktz.txt ( 186 байт ) Кол-во скачиваний: 557

вот (сделано в Pascal)
ktz1.txt



Прикрепленные файлы
Прикрепленный файл  KTZ1.TXT ( 180 байт ) Кол-во скачиваний: 293

Автор: NTL 21.03.2007 4:05

Код

while not EOF(f1)do
       begin
            readln(f1,bank,comp,nmAczi,stAczi);
            if nmAczi*stAczi>max then
               begin
                   mxBank:=bank;
                   max:=nmAczi*stAczi
               end;
         end;
  write('mxBank = ',mxBank);
  close(f1);

Автор: Олежик 21.03.2007 11:18

Цитата(NTL @ 21.03.2007 0:05) *

Код

while not EOF(f1)do
       begin
            readln(f1,bank,comp,nmAczi,stAczi);
            if nmAczi*stAczi>max then
               begin
                   mxBank:=bank;
                   max:=nmAczi*stAczi
               end;
         end;
  write('mxBank = ',mxBank);
  close(f1);




т.е. Я открываю файл.....
Название банка кидаю в bank,
Кто купил кидаю comp,
сколько купили - nmAczi;
цеена одной....stAczi,


Я правильно понял?
если да....
вопрос....
как мне их туда кинуть......
с помощью оператора with?
Напишите пожалуйста...

Автор: NTL 21.03.2007 13:10

Цитата(Олежик @ 21.03.2007 7:18) *

как мне их туда кинуть......
с помощью оператора with?
Напишите пожалуйста...

Здесь и происходит "кидание". Из файла f1 считываем данные и сохраняем в 4 переменные.
with здесь вообще ни причем, ибо в данном случае сохранение происходит не в записи
Код
readln(f1,bank,comp,nmAczi,stAczi);