Объектно-ориентированное программирование на C++. Андрианова А.А - 59 стр.

UptoLike

Объектно-ориентированное программирование на С++
Для инициализации группы в параметрах передается номер группы и
количество студентов в ней. Метод также запрашивает ввод информации
о студентах с клавиатуры, который осуществляется с помощью функции
AddStudent(). В случае, если количество студентов, передаваемое в
параметре, будет больше максимально возможного (20), метод
AddStudent() сгенерирует исключение, при обработке которого
выведется сообщение о заполненности группы и будет прекращен ввод
студентов.
// метод инициализации информации о группе
void Group::Init(char* ng, int ct)
{
count = 0;
strcpy (numberGr, ng);
for(int i = 0; i < ct; i++)
try
{
AddStudent();
}
catch(char* str)
{
cout << str;
return;
}
}
При поиске студента может потребоваться определить, существует
ли студент с заданным номером зачетной книжки, а также данные этого
студента и его порядковый номер в списке группы. В нашем примере
метод возвращает значение true, если студент найден, и false в
противном случае. Если студент найден, информация о нем и его
порядковом номере в группе заполняется в параметры Student& std,
int& istud, передаваемые по ссылке. Исходными данными для поиска
этой информации является номер зачетной книжки.
// метод поиска студента по номеру зачетной книжки
bool Group::FindStudent(int ntb, Student& std, int& istud)
{
for(int i =0; i < count; i++)
if(s[i].GetNumberOfTestBook() == ntb)
{
std = s[i];
istud = i;
return true;
59
                          Объектно-ориентированное программирование на С++

     Для инициализации группы в параметрах передается номер группы и
количество студентов в ней. Метод также запрашивает ввод информации
о студентах с клавиатуры, который осуществляется с помощью функции
AddStudent(). В случае, если количество студентов, передаваемое в
параметре, будет больше максимально возможного (20), метод
AddStudent() сгенерирует исключение, при обработке которого
выведется сообщение о заполненности группы и будет прекращен ввод
студентов.

     // метод инициализации информации о группе
     void Group::Init(char* ng, int ct)
     {
          count = 0;
          strcpy (numberGr, ng);
          for(int i = 0; i < ct; i++)
               try
               {
                    AddStudent();
               }
               catch(char* str)
               {
                    cout << str;
                    return;
               }
     }

    При поиске студента может потребоваться определить, существует
ли студент с заданным номером зачетной книжки, а также данные этого
студента и его порядковый номер в списке группы. В нашем примере
метод возвращает значение true, если студент найден, и false – в
противном случае. Если студент найден, информация о нем и его
порядковом номере в группе заполняется в параметры Student& std,
int& istud, передаваемые по ссылке. Исходными данными для поиска
этой информации является номер зачетной книжки.
     // метод поиска студента по номеру зачетной книжки
     bool Group::FindStudent(int ntb, Student& std, int& istud)
     {
          for(int i =0; i < count; i++)
               if(s[i].GetNumberOfTestBook() == ntb)
               {
                    std = s[i];
                    istud = i;
                    return true;
                                                                        59