Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2008, 11:22   #1
Tiburon
Новичок
Джуниор
 
Регистрация: 19.11.2008
Сообщений: 2
Печаль Помогите с задачей по Turbo Pascal плиз

задача такая надо написать такую программу,которая работает в одном из двух режимов.
Если в текущем каталоге имеется файл Assort, то вывести на экран названия наиболее дорогих дисков (цена которых отличается от цены самого дорогого диска не более чем на 50 руб).В противном случае создать фаил с таким именем, содержащий сведения о CD-дисках:название,стоимость в руб.
помогите хотябы отладить код проги такой
program primer1;
uses crt;
type
Cd=record
name:string[20];
st:integer;
end;
var q:cd;
max:integer;
l:string;
j:integer;
f: file of cd;
o:string;
i:integer;
p:array[1..10]of cd;
begin
{$i-}
assign(f,'assort.txt');
reset (f);
{$I+}
if IOResult<>0 then
begin


assign(f,'assort.txt');
rewrite(f);
for i:=1 to 10 do begin
writeln(' ');
readln(q.name);
writeln(' ');
readln(q.st);
write(f,q);
end;
end
else
begin

read(f,q);
max:=q.st;
while not eof(f) do begin
read(f,q);
if max<q.st then
begin max:=q.st;
o:=q.name;




end;
write(o);
if ( max-q.st<50) and( max-q.st>0)
then
begin
l:=q.name;
writeln(l);
readln;


end;
end;

end

end.

Последний раз редактировалось Tiburon; 19.11.2008 в 23:52. Причина: написал 95% программы
Tiburon вне форума Ответить с цитированием
Старый 21.11.2008, 22:23   #2
Tiburon
Новичок
Джуниор
 
Регистрация: 19.11.2008
Сообщений: 2
По умолчанию

А я так ждал надеялся и верил на ответ
Tiburon вне форума Ответить с цитированием
Старый 22.11.2008, 20:52   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну... раз так надеялся и ждал...
вот решение (я позволил себе немножко упростить Ваш алгоритм..)
Код:
program primer1;
uses crt;
type
  Cd = record
    name: string[20];
    st: integer;
  end;
var
  q: cd;
  max: integer;
  i: integer;
  f: file of cd;
begin
  assign(f, 'assort.txt');
{$I-}
  reset(f);
{$I+}
  if IOResult <> 0 then
  begin
    rewrite(f);
    WriteLn('Создаём файл assort.txt  на 10 записей...');
    for i := 1 to 10 do begin
      writeln(' Введите название диска:');
      readln(q.name);
      writeln(' Введите стоимость диска (целое число в руб.):');
      readln(q.st);
      write(f, q);
    end;
  end
  else 
  begin
    {если файл пуст - то делать нам нечего!}
    if Eof(f) then begin
      Close(f);
      WriteLn('файл с данными пуст. Делать тут нечего!');
      Halt;
    end;
       
    {определим стоимость самого дорого диска 
      (пока название CD нас не интересует, 
        только стоимость...)}
    max := -MaxInt;
    while not eof(f) do begin
      read(f, q);
      if max < q.st then max := q.st;
    end;
    
    {второй проход по файлу с данными}
    Seek(f,0); {установим указатель в файле на начало}
    
    {Выведем шапку таблицы}
    WriteLn;
    WriteLn('+----------------------+---------+');
    WriteLn('|     Имя диска        | Стоим-ть|');
    WriteLn('+----------------------+---------+');
    while not eof(f) do begin
      read(f, q);
      if Abs(q.st-Max)<=50 then
        WriteLn('| ',q.Name:20,' | ',q.St:7,' |');
    end;
    WriteLn('+----------------------+---------+')
  end;
  Close(f);
end.
p.s. А для типизированных файлов лучше придумывать своё расширение, TXT - не совсем подходящий выбор. Хотя, для программы это абсолютно всё равно ;-)
Просто не надо пытаться открыть этот файл в текстовом редакторе :-)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Turbo Pascal ohotnik Помощь студентам 4 13.04.2009 22:14
Помогите плиз с задачей Raptor5 Помощь студентам 3 28.01.2008 09:41
Помогите плиз срочно с задачей Raptor5 Паскаль, Turbo Pascal, PascalABC.NET 13 27.01.2008 17:18
Помогите плиз с задачей Raptor5 Паскаль, Turbo Pascal, PascalABC.NET 4 21.01.2008 10:38