IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на файлы.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


Помогите разобраться с задачей на файлы. sad.gif sad.gif sad.gif
В файле хранятся фамилии, название клубов, за которые играют хоккеисты, количество сыгранных игр и заброшенных шайб. Перепишите в разные файлы данные об игроках «Спартака» и «Динамо».
И подскажите пожалуйста какую ни будь книгу по паскалю, где подробно разбирается этот вопрос sad.gif sad.gif
Заранее благодарен.. unsure.gif


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


вопрос про работу с файловой системой разбирается в любой нормальной книжке по паскалю.

Уточни условие - в каком формате записан файл


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


если можно слово-в-слово повтори текст задания


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


1. что за файл (типизированный\нетипизированный)
2. структура записей в файле. (если тектсовый, то как расположенны строчки, если типизированный, то какова структура recorda)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


Файл нужно создовать самому sad.gif sad.gif
По идее - типизированный.


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Вопрос остался открытым:

Цитата
если типизированный, то какова структура recorda


какая еще информация должна храниться в файле ?

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


Кроме той, что оговаривается в условии:
Цитата
фамилии, название клубов, за которые играют хоккеисты, количество сыгранных игр и заброшенных шайб

-никакой.


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Тогда (при условии, что все игроки играют или за Спартак, или за Динамо), программа будет такой:

Код

type
 TPlayer =
   record
     name: string[25];
     club: string[20];
     games: word;
     scores: word;
   end;
 FPlayer = file of TPlayer;

const
 filename = 'COMMON.INF';
 spartak  = 'SPARTAK.INF';
 dinamo   = 'DINAMO.INF';


procedure createFile(var f: FPlayer; name: string);
 begin
   assign(f, name);
   {$I-} rewrite(f); {$I+}
   if IOResult <> 0 then
     begin
       writeln( 'cannot create new file...' );
       halt(100)
     end;

 end;

{ Проверяет правильность заполнения файла с именем name }
procedure viewFile(name: string);
var f: FPlayer;
begin
assign(f, filename);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
 begin
   writeln( 'cannot open file...' ); halt(101)
 end;

while not eof(f) do
 begin
   read(f, rec);
   with rec do
     writeln( name, '  ', club, ' ', games:4, ' ', scores:4 );
 end;

close(f);
end;



{ создает файл COMMON.INF с начальными данными -
  старый файл с именем COMMON.INF будет уничтожен }
procedure initFile;
 var
   f: FPlayer;
   r: TPlayer;
   ans: char;
 begin
   createFile(f, filename);
   repeat
     write('name:> '); readln(r.name);
     write('club:> '); readln(r.club);
     write('games:> '); readln(r.games);
     write('scores:> '); readln(r.scores);
     write(f, r);
     writeln;
     writeln('another player ? (y/n)');
     readln(ans);
   until (upcase(ans) <> 'Y');
   close(f)
 end;

var
 f, fD, fS: FPlayer;
 rec: TPlayer;
begin
 initFile;

 assign(f, filename);
 {$I-} reset(f); {$I+}
 if IOResult <> 0 then
   begin
     writeln( 'cannot open file...' ); halt(101)
   end;

 createFile(fD, dinamo);
 createFile(fS, spartak);

 while not eof(f) do
   begin
     read(f, rec);
     if rec.club = 'spartak' then
       write(fS, rec)
     else
       write(fD, rec);
   end;

 close(fS); close(fD);
 close(f);

 { для проверки правильности создания файла... }
 viewFile( 'spartak.inf' ); { или 'dinamo.inf' }

end.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


Спасибо volvo.
А как доработать прогу, что бы игроки были не только из Спартака, или Динамо?


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






brut03

Вместо этого:
Код

 while not eof(f) do
  begin
    read(f, rec);
    if rec.club = 'spartak' then
      write(fS, rec)
    else
      write(fD, rec);
  end;


поставь вот это:
Код

 while not eof(f) do
  begin
    read(f, rec);
    if rec.club = 'spartak' then write(fS, rec);
    if rec.club = 'dinamo' then write(fD, rec);
    { и так далее... }

    { Но не забудь объявить достаточно файлов и их имен !!! }
  end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


А как проверить правильно или нет переписаны файлы SPARTAK.INF и DINAMO.INF?


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Код

procedure viewFile(name: string);
var f: FPlayer;
begin
 assign(f, filename);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
  begin
    writeln( 'cannot open file...' ); halt(101)
  end;

while not eof(f) do
  begin
    read(f, rec);
    with rec do
      writeln( name, '  ', club, ' ', games:4, ' ', scores:4 );
  end;

close(f);
end;

begin
 viewFile( 'spartak.inf' ); { или 'dinamo.inf' }
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


А куда это вставить? huh.gif sad.gif


--------------------
Бывает в жизни так хреново
Что даже чай не лезит в глотку
А лезит в глотку только пиво
Которым запиваеш водку
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Сейчас я изменю первоначальную программу...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.01.2025 9:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name