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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 08:50   #1
Лунатик13
 
Регистрация: 14.02.2012
Сообщений: 8
По умолчанию составить программу для обработки информации о кадрах предприятия

Привет. Помогите пожалуйста дорешать задачу. У самой ,что то ничего не выходит не могу понять как надо сделать.Нужно составить программу для обработки информации о кадрах предприятия. Один
элемент информации содержит следующие поля: фамилия, имя, отчество, пол, дата
рождения, дата поступления на работу, должность, разряд. Программа должна иметь
возможность создавать типизированный файл с данными, а также используя эти
данные делать следующее:
a) выдать список сотрудников предприятия с заданной должностью;

Код:
Type
TKadr=record
f:string[20];
i:string[20];
o:string[20];
pol:string[1];
datarogd:string[10];
dataustroistva:string[10];
dolgnost:string[100];
rasryad:integer;
age:integer;
end;
Tkadrfile= file of Tkadr;
var
n: Tkadrfile;
d,q,w,b,z,y,o:string;
x,i,m,l,c:integer;
f:file of tkadr;
kadr:TKadr;
begin
assignfile(f,'d:\u.dat');
rewrite(f);
writeln('vvedite kolichestvo sapisei');
readln(c);
for x := 1 to c do
begin
writeln('vvedite f');
readln(d);
writeln('vvedite i');
readln(q);
writeln('vvedite o');
readln(w);
writeln('vvedite pol');
readln(b);
writeln('vvedite dat.rogd');
readln(z);
writeln('vvedite dat.ustroistv');
readln(y);
writeln('vvedite dolgnos');
readln(o);
writeln('vvedite rasryad');
readln(i);
Write(F,kadr);
end;
closefile(f);
End.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.03.2012 в 10:15.
Лунатик13 вне форума Ответить с цитированием
Старый 28.03.2012, 13:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы делаете ПРИНЦИПИАЛЬНУЮ ошибку!
Для чего Вы читаете в одни переменные, а пишете в файл - другое?!

нужно примерно так:
Код:
program MyKadry;
{$APPTYPE CONSOLE}
type
  TKadr = record
    f: string[20];
    i: string[20];
    o: string[20];
    pol: string[1];
    datarogd: string[10];
    dataustroistva: string[10];
    dolgnost: string[100];
    rasryad: integer;
    age: integer;
  end;
  Tkadrfile = file of Tkadr;
var
  f    : Tkadrfile;
  i, n : integer;
  kadr : TKadr;
  NeedDolg : string;
begin
  assignfile(f, 'd:\u.dat');
  rewrite(f);
  writeln('vvedite kolichestvo sapisei');
  readln(n);
  for i := 1 to n do
  begin
    write('vvedite familiu: ');
    readln(kadr.f);
    write('vvedite imya: ');
    readln(kadr.i);
    write('vvedite otchestvo: ');
    readln(kadr.o);
    write('vvedite pol (F/M): ');
    readln(kadr.pol);
    write('vvedite datu rogdenia (dd.mm.yyyy): ');
    readln(kadr.datarogd);
    write('vvedite datu ustroistva na rabotu (dd.mm.yyyy): ');
    readln(kadr.dataustroistva);
    write('vvedite dolgnos: ');
    readln(kadr.dolgnost);
    write('vvedite rasryad: ');
    readln(kadr.rasryad);
    Write(f, kadr);
  end;
  closefile(f);
.....
а для решения задачи, собственно:
Код:
  Reset(f);
  WriteLn; Write('Vvedite dolgnnost, kotoray nuzna: ');
  Readln(  NeedDolg );

  while Not eof(f) do begin
     Read(f, kadr);
     if kadr.dolgnost = NeedDolg then begin
        with kadr do
          WriteLn(f,' ',i,' ',o,' ',pol, ' ', datarogd , ' ', dataustroistva);
     end;
  end;
  Readln
p.s. обратите внимание, что можно указывать запись и поле записи (kadr.pol, например), а можно указать конструкцию with kadr do и дальше обращаться к полям без указания имени (смотри, как выводятся поля записи...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.03.2012, 16:31   #3
Лунатик13
 
Регистрация: 14.02.2012
Сообщений: 8
По умолчанию

Большое спасибо.
Лунатик13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу обработки данных в виде структур. Starget Помощь студентам 2 10.03.2013 13:36
Создание пользовательских функций для обработки числовой информации. Larisa7 Помощь студентам 1 16.12.2011 18:40
Многократный запуск одного макроса для обработки информации по нескольким заказам поочередно Ribun Microsoft Office Access 1 30.06.2011 09:36
Составить программу обработки итоговой таблицы чемпионата по футболу. yuliyayuliya Помощь студентам 1 28.04.2011 03:17
Составить программу для обработки данных во время ввода. Васильева Зинаида Помощь студентам 9 01.11.2010 21:36