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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2012, 23:08   #1
Nerotim
Пользователь
 
Регистрация: 28.10.2012
Сообщений: 16
Вопрос Записи Delphi 7

Задание

Создать базу данных из заданного числа записей, отражающих результаты сессии: Фамилия, группа, 3 предмета, 3 оценки. По запросу о неуспевающих выдать список по алфавиту фамилий студентов по каждой группе, имеющих хоть одну оценку "2". Использовать процедуры.

Написал часть проги. Как запрограмировать неуспевающих? И прога после компилирования почему то вылетает.

Заранее спасибо


Код:
program lab ;

{$APPTYPE CONSOLE}

uses
  SysUtils, math;
  Type Tstud= record
  fam,grup: string;
  mat,inf,fiz:byte;
  end;
  Tgrup=array[1..4] of Tstud;
//==================================
  Procedure vvod(var x:Tgrup; var n:integer);
  var i : integer;
  Begin
  write('vvedite kol-vo studentov ');
  readln(n);
  for i:=1 to n do
  with x[i] do
  begin
  write(i,'.familiya ');
  readln(fam);
  write('gruppa');
  readln('grup);
  write('matan ');
  readln(mat);
  write('infa ');
  readln(inf);
  write('fizika ');
  readln(fiz);
  writeln;
  end;
  end;
  //=======================================]
  Procedure upor(var x: Tgrup; k: integer);
  var i,j:integer;
  y: Tstud;
  Begin
  for i:=1 to k do
  for j:=1 to k do
  if (x[j].fam <x[i].fam) and ((x[i].mat = 2) or (x[i].inf = 2) or (x[i].fiz = 2))
  then
  begin
  y:=x[i];
  x[i]:=x[j];
  x[j]:=y;
  end;
  end;
   //==========================================
   procedure vivod(x:Tgrup; n: integer);
   var i:integer;
   begin
   writeln('sessia');
   for i:=1 to n do
   with x[i] do
   begin
   write(fam,' ',grup,'matan-',mat,'infa-',inf,'fizika-',fiz);
   writeln;
   end ;
   end ;
   //========================================
   var x: Tgrup; n,k: integer;
   begin
   vvod(x,n);
   upor(x,k);
   vivod(x,n);
    readln;
    readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
Nerotim вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi записи Айс Беби Помощь студентам 4 28.05.2012 16:46
записи(delphi) sergi Помощь студентам 3 02.03.2011 18:25
Записи в Delphi. dima-intro Помощь студентам 6 27.12.2010 22:03
Записи в Delphi sluch Помощь студентам 1 01.04.2010 21:34
Delphi записи tanek Помощь студентам 2 14.10.2009 18:16