КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Этап 1. Пример решения задачи
Пример решения задачи В задаче необходимо описать класс с СТУДЕНТ (поля: ФАМИЛИЯ, СПЕЦИАЛЬНОСТЬ, ПОЛ (задается из фиксированного списка), ГОД ОБУЧЕНИЯ). . В классе должен быть описаны как минимум: · соответствующие поля, · конструкторы (не менее трех), · свойства для получения и изменения значений · метод ввода объекта с клавиатуры · метод вывода объекта на экран · операция преобразования типа. Кроме того в классе должны быть описаны: - операция класса: перевод студента на следующий курс (+) - статический метод класса: поиск студента с заданной фамилией в массиве студентов. методы и операции, соответствующие варианту задания. Методы класса должны генерировать исключения. Разработать демонстрационную программу, которая должна обеспечивать выбор с помощью меню и выполнение следующих функций: · начальное формирование массива из N£20 объектов класса (ввод с клавиатуры или из заданного массива); · добавления объекта в массив; · вывод массива объектов на экран; · функции, демонстрирующие работу методов и операций, описанных в варианте задания. · дополнительная функция: вывод всех студентов с заданной специальностью.
Опишем поэтапное решение данной задачи. Для решения данной задачи опишем класс CStudent c указанными полями и тремя конструкторами. Для проверки работы конструкторов сразу определим метод, выводящий на экран все поля. namespace ConsoleApplication1 { enum gender_type { male, female, unknown }; class CStudent { //**************Поля класса CStudent******************* static public int n = 0;
string name; string speciality; gender_type gender; int year_tr;
//******Конструктор по умолчанию************************ public CStudent() { name = "Unknown"; speciality = "Unknown"; gender = gender_type.unknown; year_tr = 0; n++; } //*****Конструктор, задающий фамилию студента*********** public CStudent(string n): this() { if (name!= "") name = n; else name = "Unknown"; } //***Конструктор, заполняющий все поля класса заданными параметрами** public CStudent(string name, string speciality, gender_type gender, int year_tr) { if (name!="") this.name = name; else this.name="Unknown"; if (speciality!= "") this.speciality = speciality; else this.speciality = "Unknown"; if (Enum.IsDefined(typeof(gender_type), gender)) this.gender = gender; /*Используется метод IsDefined класса Enum, который возращает истину, если второй парамерт принадлежит перечислению, указанному в качестве первого параметра*/ else throw new Exception("При создании студента пол указан неверно"); if (year_tr >=1 && year_tr <=5) this.year_tr = year_tr; else throw new Exception("При создании студента курс обучения указан неверно. Значение должно быть интевале [1,5]"); n++; } //**Метод класса CStudent вывода полей объекта на экран*** public void output() { Console.Write("Name= {0} speciality={1}", name.PadRight(10, ' '), speciality.PadRight(20, ' ')); if (gender == gender_type.male) Console.Write("gender= {0}", "муж ".PadRight(10, ' ')); else if (gender == gender_type.female) Console.Write("gender= {0}", "жен ".PadRight(10, ' ')); else Console.Write("gender= {0}", "не указан ".PadRight(10, ' ')); Console.WriteLine("year= {0,2}", year_tr); } }//class CStudent Обратите внимание, что конструктор с четырьмя параметра генерирует исключения, если неправильно указан пол или год обучения.
Дата добавления: 2014-12-27; Просмотров: 374; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |