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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 06:54   #1
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию подпрограмма

Код:
Program file11;
uses crt;
Type rasp = record
      fio: string [5];
      group,aud: integer;
      conk: string[20];
      ins: string[20];
      zan: string[10];
end;
var
     f: file of rasp;
     name: string;
     uch: array[1..4] of rasp;
     gruppa,i:integer;
     n:char;
     day: string[20];
     s1:rasp;
begin
clrscr;
Writeln ('Задайте имя файла');
Readln (name);
Assign (f, name);
Rewrite (f);
Writeln ('Введите фамилию и инициалы преподавателя ');
Readln (s1.fio);
While s1.fio <> ' ' do
      Begin
           Writeln ('Введите номер группы ');
           Readln (s1.group);
           writeln ('Введите предмет ');
           readln (s1.conk);
           writeln ('Введите день недели ');
           readln (s1.ins);
           writeln ('Введите время занятия ');
           readln (s1.zan);
           writeln ('Введите аудиторию ');
           readln (s1.aud);
           write (f,s1);
           Writeln ('Введите фамилию и инициалы следующего преподавателя ');
           Readln (name);
           s1.fio:=name;
             End;
      Writeln ('Файл создан');
         Close(f);reset(f);
      writeln (' Pokazat spisok ');
       while not Eof(f) do
       begin
         read (f,s1);
         with s1 do begin
           WriteLn('ФИО: ',fio);
           WriteLn('Группа: ',group);
           WriteLn('Предмет: ',conk);
           WriteLn('День недели: ',ins);
           WriteLn('Время занятий: ',zan);
           WriteLn('Аудитория: ',aud);
           WriteLn('----------------');
         end;
       end;
ReadLn(gruppa);
While not Eof(F) do begin
  Read(f,s1);
  if s1.group=gruppa then begin
    readln (s1.zan);
    readln (s1.conk);
    readln (s1.aud);
    readln (s1.fio);
  end;
end;
Close(F);reset(f);
  ReadLn(day);
While not Eof(F) do begin
  Read(f,s1);
  if s1.ins=day then begin
    readln (s1.zan);
    readln (s1.conk);
    readln (s1.aud);
    readln (s1.fio);
     end;
end;
Close(F);
end.
помогите сделать через подпрограмму



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

Последний раз редактировалось Serge_Bliznykov; 15.03.2013 в 08:46.
zxzxz вне форума Ответить с цитированием
Старый 15.03.2013, 09:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пока Вы не определитесь, ЧТО именно должно быть вынесено в процедуру (процедуры), разговор бессмысленен...

можно, например, полностью весь код вынести в процедуру!
Так устроит ?

Код:
Program file11;
uses crt;
Type rasp = record
      fio: string [5];
      group,aud: integer;
      conk: string[20];
      ins: string[20];
      zan: string[10];
end;

procedure DoAll;
var
     f: file of rasp;
     name: string;
     uch: array[1..4] of rasp;
     gruppa,i:integer;
     n:char;
     day: string[20];
     s1:rasp;
begin
   clrscr;
   Writeln ('Задайте имя файла');
   Readln (name);
   Assign (f, name);
   Rewrite (f);
   Writeln ('Введите фамилию и инициалы преподавателя ');
   Readln (s1.fio);
   While s1.fio <> ' ' do
         Begin
              Writeln ('Введите номер группы ');
              Readln (s1.group);
              writeln ('Введите предмет ');
              readln (s1.conk);
              writeln ('Введите день недели ');
              readln (s1.ins);
              writeln ('Введите время занятия ');
              readln (s1.zan);
              writeln ('Введите аудиторию ');
              readln (s1.aud);
              write (f,s1);
              Writeln ('Введите фамилию и инициалы следующего преподавателя ');
              Readln (name);
              s1.fio:=name;
                End;
         Writeln ('Файл создан');
            Close(f);reset(f);
         writeln (' Pokazat spisok ');
          while not Eof(f) do
          begin
            read (f,s1);
            with s1 do begin
              WriteLn('ФИО: ',fio);
              WriteLn('Группа: ',group);
              WriteLn('Предмет: ',conk);
              WriteLn('День недели: ',ins);
              WriteLn('Время занятий: ',zan);
              WriteLn('Аудитория: ',aud);
              WriteLn('----------------');
            end;
          end;
   ReadLn(gruppa);
   While not Eof(F) do begin
     Read(f,s1);
     if s1.group=gruppa then begin
       readln (s1.zan);
       readln (s1.conk);
       readln (s1.aud);
       readln (s1.fio);
     end;
   end;
   Close(F);reset(f);
     ReadLn(day);
   While not Eof(F) do begin
     Read(f,s1);
     if s1.ins=day then begin
       readln (s1.zan);
       readln (s1.conk);
       readln (s1.aud);
       readln (s1.fio);
        end;
   end;
   Close(F);
end; {конец процедуры}

begin
  DoAll;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.03.2013, 15:13   #3
zxzxz
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 21
По умолчанию

а как сделать,чтобы он еще выводил все по заданным данным тоже через подпрограмму
zxzxz вне форума Ответить с цитированием
Старый 20.03.2013, 15:25   #4
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Ответ тот же, код тот же...

Что и куда Вы хотите
netpolice вне форума Ответить с цитированием
Старый 20.03.2013, 20:46   #5
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Зачем вам нужна процедура? Что вы хотите вынести в процедуру?
Процедуру используют или для "блочности" кода (если его очень много), или для многоразово выполняющегося кода.
hon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограмма Кротяка Паскаль, Turbo Pascal, PascalABC.NET 4 07.02.2011 14:51
Подпрограмма на С++ serega260394 Помощь студентам 2 23.12.2010 09:37
Подпрограмма peter065 Помощь студентам 10 11.10.2010 22:51
Подпрограмма NAZE Паскаль, Turbo Pascal, PascalABC.NET 12 31.05.2010 17:04
Подпрограмма Maks6169 Помощь студентам 4 13.02.2010 12:30