Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.05.2009, 16:08
fleur fleur вне форума
Прохожий
 
Регистрация: 10.05.2009
Сообщения: 2
Репутация: 10
По умолчанию Записи-помогите, пожалуйста!

В условии дан раздел type. это список преподавателей (ФИО, специальность, номера групп, в которых они ведут). Надо написать логическую функцию, которая определяет, есть ли преподаватели, ведущие занятия только в одной группе. если есть, вывести их ФИО.
Я вот написала, но после ввода информации о преподавателях программа закрывается. Помогите, пожалуйста!

Код:
program Prepodavatel;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  kol_prepod=2;
type
  Tgruppa=1..7;
  Tgruppy_kursa=array[Tgruppa] of boolean;
  Tgruppy_fak=array[1..5] of Tgruppy_kursa;
  Tprepod=record
            fio:string;
            spec:(matematika,mehanika); 
            spisok_grupp:Tgruppy_fak
          end;
  Tvse_prepod=array[1..kol_prepod] of Tprepod;
var
  prepod:Tvse_prepod;
  i:byte;
  nomer,danet:0..1;
  gruppa:Tgruppa;
  kurs:1..5;
  t,b:boolean;
//----------------------------------------------------------------------
function proverka(n:integer):boolean;
  var sk:byte;
      gr:Tgruppa;
      k:1..5;
  begin
    sk:=0;
    for gr:=1 to 7 do
      for k:=1 to 5 do
        if prepod[n].spisok_grupp[gr,k]=true then sk:=sk+1;
    if sk=1 then result:=true
      else result:=false
  end;
//---------------------------------------------------------------------
begin
  //ввод данных о преподавателях
  for i:=1 to kol_prepod do
    begin
      writeln('vveite informaciyu o ',i,' prepodavatele:');
      write('FIO: ');
      readln(prepod[i].fio);
      write('nomer specialnosti (matematica-0, mehanika-1): ');
      readln(nomer);
      if nomer=0 then prepod[i].spec:=matematika
        else prepod[i].spec:=mehanika;
      for gruppa:=1 to 7 do
        for kurs:=1 to 5 do
          prepod[i].spisok_grupp[gruppa,kurs]:=false;
      b:=true;
      while b<>false do
        begin
          write('vvedite gruppu: ');
          readln(gruppa);
          write('vvedite kurs: ');
          readln(kurs);
          prepod[i].spisok_grupp[gruppa,kurs]:=true;
          write('dobavit eshe gruppu? da-vvedite 1, net-0: ');
          readln(danet);
          if danet=1 then b:=true
            else b:=false
        end;
      writeln
    end;
  t:=false;
  for i:=1 to kol_prepod do
    if proverka(i)=true then
      begin
        writeln(prepod[i].fio);
        t:=true
      end;
  readln;
  if t=false then writeln('takih prepodavateley net');
  readln
end.

lmikle: Пользуемся тегами!!!
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025