ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
случае недопустимых значений генерируются исключения. При проверке
даты рождения исключения генерируются в самом методе Fill(), при
проверке значения среднего балла – в методе SetAverageMark() –
изменения среднего балла успеваемости.
// метод заполнения свойств студента
void Student::Fill(char* f, int d, int m, int y, int ntb,
double mark)
{
strcpy(fio, f);
numberOfTestBook = ntb;
// проверка на корректность введенной даты
// в случае некорректной даты генерируются исключения
if(y < 1950 || y > 2000)
throw 1;
if(m < 1 || m > 12)
throw 2;
if ((m == 1 || m == 3 || m == 5 || m == 7 || m == 8
|| m == 10 || m == 12) && (d < 1 || d > 31))
throw 3;
if ((m == 4 || m == 6 || m == 9 || m == 11) &&
(d < 1 || d > 30))
throw 3;
if (m == 2 && (d < 1 || (((y % 4 == 0 &&
y % 100 != 0) || y % 400 == 0) && d > 29 )
|| (!((y % 4 == 0 && y % 100 != 0)
|| y % 400 == 0) && d > 28)))
throw 3;
dayBirth = d;
monthBirth = m;
yearBirth = y;
SetAverageMark(mark);
}
// метод изменения среднего балла успеваемости студента
void Student::SetAverageMark(double mark)
{
if(mark < 0.0)
throw 1;
averageMark = mark;
}
Разберем метод Init() инициализации объекта класса Student.
В нем вызвается метод Fill() заполнения свойств объекта-студента.
При начальной инициализации студентов первого курса текущая
успеваемость отсутствует, поэтому значение параметра mark по
56
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
случае недопустимых значений генерируются исключения. При проверке
даты рождения исключения генерируются в самом методе Fill(), при
проверке значения среднего балла – в методе SetAverageMark() –
изменения среднего балла успеваемости.
// метод заполнения свойств студента
void Student::Fill(char* f, int d, int m, int y, int ntb,
double mark)
{
strcpy(fio, f);
numberOfTestBook = ntb;
// проверка на корректность введенной даты
// в случае некорректной даты генерируются исключения
if(y < 1950 || y > 2000)
throw 1;
if(m < 1 || m > 12)
throw 2;
if ((m == 1 || m == 3 || m == 5 || m == 7 || m == 8
|| m == 10 || m == 12) && (d < 1 || d > 31))
throw 3;
if ((m == 4 || m == 6 || m == 9 || m == 11) &&
(d < 1 || d > 30))
throw 3;
if (m == 2 && (d < 1 || (((y % 4 == 0 &&
y % 100 != 0) || y % 400 == 0) && d > 29 )
|| (!((y % 4 == 0 && y % 100 != 0)
|| y % 400 == 0) && d > 28)))
throw 3;
dayBirth = d;
monthBirth = m;
yearBirth = y;
SetAverageMark(mark);
}
// метод изменения среднего балла успеваемости студента
void Student::SetAverageMark(double mark)
{
if(mark < 0.0)
throw 1;
averageMark = mark;
}
Разберем метод Init() инициализации объекта класса Student.
В нем вызвается метод Fill() заполнения свойств объекта-студента.
При начальной инициализации студентов первого курса текущая
успеваемость отсутствует, поэтому значение параметра mark по
56
Страницы
- « первая
- ‹ предыдущая
- …
- 54
- 55
- 56
- 57
- 58
- …
- следующая ›
- последняя »
