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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2014, 01:12   #1
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию ООП Паскаль, переделать задачу

Здраствуйте, помогите плиз переделать задачу под ООП, любым способом
Код:
 const
  n = 4;
type
  student = record
    N: byte;
    prizv: string;
    matan: real;
    prog: real;
    Os: real;
    alg: real;
  end;
var
  i: integer;
  tabl: array[1..n] of student; tabik: file of student;
  otv: integer;

procedure lin(m: integer);
var i: integer;
begin
  for i := 1 to m do write('-'); writeln;
end;

begin
  assign(tabik, 'd:\result.dat');

  Write('Perezapisat fail ? (1 - tak, 0 - ni):');
  ReadLn(otv);
  if otv = 1 then
  begin
    rewrite(tabik);
    writeln('VVedi dani stydentiv');
    for i := 1 to n do
    begin
      tabl[i].N := i;
      readln(tabl[i].Prizv, tabl[i].matan, tabl[i].prog, tabl[i].OS, tabl[i].alg);
      write(tabik, tabl[i]);
    end;
    Close(tabik);
  end;

  {прочитать из файла в массив}
  reset(tabik);
  for i := 1 to n do
    Read(tabik, tabl[i]);
  Close(tabik);

  Lin(69);
  writeln('|   | Призвіще | Matematuchnuy | Programyvannya | OS | Algebra | cer|');
  writeln('|   |          |    analis     |                |    |  i geom.|    |');
  Lin(69);
  for i := 1 to n do
  begin
    write('|', tabl[i].N: 2, ' |', tabl[i].Prizv: 10, '|');
    write(tabl[i].matan: 15, '|', tabl[i].prog: 16, '|', tabl[i].OS: 4, '|', tabl[i].alg: 9, '|',
     ((tabl[i].matan + tabl[i].prog + tabl[i].OS + tabl[i].alg) / n): 0: 2, '|');
    writeln;
    Lin(69);
  end;
  writeln;
  writeln('vidcortov');
  Lin(69);
  for i := 1 to n do
  begin
    if ((tabl[i].matan + tabl[i].prog + tabl[i].OS + tabl[i].alg) / 4 >= 4) then
    begin
      write('|', tabl[i].N: 2, ' |', tabl[i].Prizv: 10, '|');
      write(tabl[i].matan: 15, '|', tabl[i].prog: 16, '|', tabl[i].OS: 4, '|', tabl[i].alg: 9, '|', ((tabl[i].matan + tabl[i].
      prog + tabl[i].OS + tabl[i].alg) / n): 0: 2, '|');
      writeln;
      Lin(69);
    end;
  end;
  readln
end.
понятие не имею как правильно переделать.
mishammm вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать задачу Macuka Фриланс 2 09.12.2010 20:43
Надо переделать в ООП Авторитет Общие вопросы .NET 8 28.09.2010 19:26
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55
Помогите, пожалуйста решить задачу по ООП M_Yuri Помощь студентам 2 10.02.2008 20:12