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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2016, 00:35   #1
imfrozen
 
Регистрация: 21.03.2016
Сообщений: 2
По умолчанию Работа с массивом (Pascal)

Здравствуйте, помогите пожалуйста на основе имеющегося кода найти кафедру, на которой читается больше всего предметов

Код ввода данных:
Код:
program PCK;

uses
  crt;
type
TSubject =record  
 Name:string[20]; {Название предмета}
 CountH:byte; {Количество часов}
 Lector:string[20]; {Преподаватель}
 Cafedra:string[20]; {Кафедра}
 CountE:byte; {Методические пособия – количество в электронном виде}
 CountB:byte; {Методические пособия – количество на бумажном носителе}
 end;

var
  Subjs: array[1..25] of TSubject;
  Subj: TSubject;
  f: file of TSubject;
  myCase: byte;
  n: integer;
  
{-- Процедура ввода данных --}
procedure pEnter;
var
  i: integer;
begin
clrscr;
  assign(f, 'subject.dat');
  rewrite(f);
  repeat
  write('Сколько предметов подрят вы хотите ввести? от 1 до 10: ');
  readln(n);
  until n in [1..10];
  for i := 1 to n do
  begin
   writeln('Введите', ' ', i, ' ', 'предметов');
   with Subj do 
   begin   
    write('|Введите название предмета................|- '); readln(Name);
    write('|Введите количество часов.................|- '); readln(CountH);
    write('|Введите преподавателя....................|- '); readln(Lector);
    write('|Введите название кафедры.................|- '); readln(Cafedra);
    write('|Количество методических пособий в электронном виде........|- '); readln(CountE);
    write('|Количество методических пособий на бумажном носителе......|- '); readln(CountB);
    writeln;
    write(f, Subj); 
  end;
 end;
 close(f);
end;

{-- Процедура чтения данных --}
procedure pRead;
var
  i: integer;
begin
  clrscr;
  assign(f, 'subject.dat');
  reset(f);
  i := 1;
  while not (eof(f)) do 
  begin
    read(f, Subjs[i]);
       writeln(i,Subjs[i].Name:15,' ',Subjs[i].CountH,' ',Subjs[i].Lector:15,' ',Subjs[i].Cafedra:15,'  ',Subjs[i].CountE,' ',Subjs[i].CountB,' ');
    i := i + 1; 
  end;
  close(f);
  n := i - 1;
  writeln(' ');
  writeln('Нажмите Enter для взврата в меню');
  readln;
  clrScr;
end;

begin
repeat
  Writeln('------ Меню ------');
  Writeln('1 : Ввод новых данных');
  Writeln('2 : Чтение данных');
  writeln('3 : Выход');
  readln(myCase);
    case myCase of
      1: pEnter;
      2: pRead;
      3:begin
      writeln('Нажмите Enter для выхода');
      Readln;
      exit;
      end
      else 
        begin
        writeln('Нажмите Enter и повторите ваш ввод');
        Readln; end;
        end
        until (myCase=3);
end.
imfrozen вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# работа с массивом Annet1 C# (си шарп) 3 15.06.2016 21:48
Работа с массивом nibufep Общие вопросы Delphi 4 16.02.2015 17:52
Работа с массивом Aleks2215 Microsoft Office Excel 10 04.11.2010 23:38
работа с массивом Андрей.12 Помощь студентам 2 22.10.2009 00:25
работа с массивом kritik Помощь студентам 10 22.07.2009 20:00