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

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

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

> текстовый файл
сообщение
Сообщение #1


Пионер
**

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

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


Помогите пожайлуста переделать из типизированого файла в текстовый. Задание : сделать анкету которая содержит поля фамилия, имя, степень родства(кто он брат, сестра, отец, мать и т.д), год рождения, город проживания, професия. Вывести всю информацию о родствениках возраст которых меньше среднего возраста. Все процедуры поместить в модуль. В теле основной программы осуществить вызов процедур из модуля Даные вводятся с клавиатуры и записываются в файл, потом этот файл используется. вот эта задача в типизированом файле. Заранее всем большое спасибо.
МОДУЛЬ
Код

unit ss;
interface
type
    peop=record
         fam:string[15];
         nam:string[15];
         rod:string[10];
         city:string[15];
         year:1900..2007;
         prof:string[15];
    end;

t=file of peop;


procedure create(var f1:t);
procedure obr(var f1:t);
procedure pech(var f1:t);

implementation

procedure create;
var
   n,i:byte;
   s:peop;
begin
reset(f1);
write('vvedite kol-vo= ');
readln(n);
for i:=1 to n do
  begin
   write('familiy= ');readln(s.fam);
   write('name= ');readln(s.nam);
   write('rod= ');readln(s.rod);
   write('city= ');readln(s.city);
   write('year= ');readln(s.year);
   write('Profession= ');readln(s.prof);
   write(f1,s);
  end;
close(f1);
end;


procedure pech;
var
  i,n:byte;
  s:peop;
begin
reset(f1);
for i:=1 to filesize(f1) do
  begin
   read(f1,s);
   with  s do
   write(fam,' ',nam,' ',rod,' ',city,' ',year,' ',prof,'  ');
   writeln;
  end;
end;


procedure obr;
var
   i:byte;
   s:peop;
   srv:integer;
begin
   reset(f1);
   srv:=0;
   for i:=1 to filesize(f1) do
       begin
          read(f1,s);
          srv:=srv+(2008-s.year);
       end;
   close(f1);
   srv:=srv div i;
   reset(f1);
   writeln('srednij vozrast = ',srv);
   writeln('rodstvenniki, vozrast kotorih menshe srednego:');
   writeln;
   for i:=1 to filesize(f1) do
         begin
           read(f1,s);
           if (2008-s.year)< srv then
               begin
                 with s do
                      begin
                         writeln(fam,' ',nam,' ',rod,' ',city,' ',year,' ',prof);
                         writeln('-------------------------------------------------');
                      end;
               end;
         end;
     close(f1);
end;

end.

ОСНОВНАЯ ПРОГРАММА
Код

program kk;
uses crt,SS;
var
i:byte;
f1:t;
begin
clrscr;
    assign(f1,'data.dbf');

{$I-}
reset(f1);
{$I+}
if Ioresult<>0 then
   begin
   rewrite(f1);
create(f1);
   end;
{create(f1);}

pech(f1);
obr(f1);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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