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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 21:13   #1
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию Записи в Turbo Pascal

помогите пожалуйста с написанием программы.задание:создать файл "Сотрудники",включающий информацию:фамилия сотрудника,кафедра,дата рождения,стаж работы.найти информацию о сотруднике с наибольшим стажем.составить список сотрудников,родившихся весной.Составить списки сотрудников по кафедрам
Грета вне форума Ответить с цитированием
Старый 24.12.2011, 10:59   #2
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию

помогите пожалуйста-всего 1 лаба осталась....
Грета вне форума Ответить с цитированием
Старый 25.12.2011, 13:12   #3
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию

скажите пожалуйста хотя бы как обозначить дату рождения-через стандартные типы данных не выходит...
Грета вне форума Ответить с цитированием
Старый 25.12.2011, 13:18   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
type data=record
dd,mm:byte;
yyyy:word;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 25.12.2011 в 14:00.
Mad_Cat вне форума Ответить с цитированием
Старый 25.12.2011, 13:41   #5
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию

ну я так и делала-он выдает мне что требуется перед знаком = написать : ...то бишь присваивание!
Грета вне форума Ответить с цитированием
Старый 25.12.2011, 23:15   #6
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию

вот код,все выводит,но вот не могу впихнуть дату(тип) не получается и рожденных весной ссоответственно...((помогите!!!

║TYPE sotr=record ▲
║fam,kaf:string; ■
║staj:integer; ▒
║ ▒
║end; ▒
║var sotrudniki:file of sotr; ▒
║s,k:sotr; ▒
║i,n,min:integer; ▒
║begin ▒
║assign(sotrudniki,'sotrudniki '); ▒
║rewrite(sotrudniki); ▒
║write('kolichestvo sotrudnikov:'); ▒
║readln(n); ▒
║writeln; ▒
║writeln('sotrudniki'); ▒
║for i:=1 to n do ▒
║begin ▒
║writeln; ▒
║writeln(i,'sotrudnik'); ▒
║with s do ▒
║begin

write('familia:');readln(fam); ▒
║ ▒
║write('kafedra:');readln(kaf) ; ▒
║write('staj:');readln(staj); ▒
║write(sotrudniki,s); ■
║end; ▒
║end; ▒
║writeln; ▒
║min:=6; ▒
║reset(sotrudniki); ▒
║while not eof(sotrudniki) do ▒
║begin ▒
║read(sotrudniki,s); ▒
║with s do ▒
║if (staj>min) then ▒
║begin ▒
║min:=staj;

║k:=s; ▒
║end; ▒
║end; ▒
║writeln; ▒
║close(sotrudniki); ▒
║end.
Грета вне форума Ответить с цитированием
Старый 25.12.2011, 23:16   #7
Грета
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 17
По умолчанию

я в отчаянии,не могу справиться(((
Грета вне форума Ответить с цитированием
Старый 26.12.2011, 15:37   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Грета, разбирайтесь в решении.
и в следующий раз ПРАВИЛЬНО оформляйте исходный код. (тегами, как того требуют правила форума и раздела)


Код:
type
  data = record
    dd, mm: byte;
    yyyy: word;
  end;

  sotr = record
    fam, kaf: string;
    staj: integer;
    dr: data;
  end;


var
  sotrudniki: file of sotr;
  s, k: sotr;
  i, n, maxStaj: integer;
begin
  assign(sotrudniki, 'sotrudniki ');
  rewrite(sotrudniki);
  write('kolichestvo sotrudnikov:');
  readln(n);
  writeln;
  writeln('sotrudniki');
  for i := 1 to n do
  begin
    writeln;
    writeln(i, 'sotrudnik');
    with s do
    begin
      write('familia:'); readln(fam);
      write('kafedra:'); readln(kaf);
      write('staj:'); readln(staj);
      write('data rojdeniy (dd mm yyyy) :');
              readln(dr.dd, dr.mm, dr.yyyy);
      write(sotrudniki, s);
    end;
  end;
  writeln;
  maxStaj := -1;
  reset(sotrudniki);
  while not eof(sotrudniki) do
  begin
    read(sotrudniki, s);
    with s do
      if (staj > maxStaj) then
      begin
        maxStaj := staj;
        k := s;
      end;
  end;
  writeln;

  {сотрудник с наибольшим стажем}
  if maxStaj<0 then WriteLn('Нет сотрудника с наибольшим стажем')
  else
    WriteLn('Наибольший стаж имеет ','familia:', k.fam, ' kafedra: ',k.kaf,
            ' staj: ', k.staj );


  {выдать список сотрудников, родившихся весной}
  WriteLn('Список сотрудников, родившихся весной:');
  seek(sotrudniki, 0); {установить указатель в файле на начало}
  while not eof(sotrudniki) do
  begin
    read(sotrudniki, s);
    if s.dr.mm in [3,4,5] then
       WriteLn('familia:', s.fam,
          ' data rojd: ', s.dr.dd,'.', s.dr.mm,'.', s.dr.yyyy);
  end;
  close(sotrudniki);
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal и Free Pascal , в чем разница? antoxann Паскаль, Turbo Pascal, PascalABC.NET 31 09.11.2011 07:52
Turbo Pascal.Записи Андрюха74 Помощь студентам 7 15.09.2010 14:20
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
Помогите, пожалуйста, решить задачу на Turbo Pascal. Тема: записи. Morrigan13 Помощь студентам 1 28.03.2008 21:09