Введение в классы и объекты на С++, Java и C# (Лабораторная работа № 4), страница 5

String fam = in.nextLine();

String f; int fl = 0;

for(int i = 0; i<st.length; i++)

{  f =st[i].getfam();

if (f.equals(fam))

{System.out.println("Рейтинг студента "+ fam+" - "+st[i].sr_ball());

fl = 1;

}

}

if (fl == 0) System.out.println("Нет в списке студента "+fam);

System.out.println("Список студентов с минимальным рейтингом: ");

System.out.printf("%-10s%-10s%-10s\n","Фамилия","Имя","Рейтинг");

float min = st[0].sr_ball();

for (Student st1 : st) {

if (st1.sr_ball() < min) {

min = st1.sr_ball();

}

}

for(int i = 0; i<st.length; i++)

if (st[i].sr_ball() == min)

st[i].output();

//объект, инициализированный конструктором без параметров

Student st1 = new Student();

System.out.println("Студент: ");

System.out.printf("%-10s%-10s%-10s\n","Фамилия","Имя","Рейтинг");

st1.output();

int []oc = new int []{34, 35, 67, 56, 45};

//объект, инициализированный конструктором с параметрами

Student st2 = new Student("Иванова","Анна", oc);

System.out.println("Студент: ");

System.out.printf("%-10s%-10s%-10s\n","Фамилия","Имя","Рейтинг");

st2.setfam("Мухина");

st2.output();   

}

Рисунок 4 – Результат выполнения программы

Пример 3

В листинге 3 представлена программа на С#, в которой определен класс Student. Класс Student содержит следующую информацию о студенте: фамилия, имя и оценки за экзамены по пяти предметах. Метод input() вводит информацию о студенте с клавиатуры. Метод sr_ball() рассчитывает рейтинг студента (средний балл по оценкам). Метод output() выводит информацию о студенте на экран. В классе также имеются: конструктор без параметров, конструктор с параметрами и методы доступа к полю fam (фамилия).

В методе main() создается массив объектов класса Student и выполняется его обработка: сортировка студентов по фамилии в алфавитном порядке, поиск студентов с минимальным рейтингом и поиск рейтинга студента по фамилии.

В методе main() также создаются одиночные объекты класса Student с использованием конструктора без параметров и конструктора с параметрами и выводится на экран содержимое их полей.

Программа включает два файла, которые входят в пространство имен ConsoleApplication1:

-  Student.cs – файл с описанием класса Student;

-  Program.cs – файл с методом main() .

Для создания программы использовалась среда разработки MS Visual C# 2010 Express. На рисунке 5 показан состав проекта программы.

Рисунок 5 – Состав проекта программы

Создание проекта в MS Visual C# 2010 Express: Файл -> Создать проект -> Консольное приложение.

Добавление класса в проект: Проект -> Добавить класс -> Класс.

Компиляция, сборка и выполнение проекта: Отладка -> Начать отладку (F5).

На рисунке 6 показан результат выполнения программы.

Листинг  3

// Student.cs

using System;

namespace ConsoleApplication1

{

    class Student : IComparable<Student>

    {

        private string fam;

        private string name;

        private int[] oc; // оценки

        public Student(string fam, string name, int []oc)

        {

            this.fam = fam;

            this.name = name;

            this.oc = new int[5];

            for (int i = 0; i < 5; i++)

                this.oc[i] = oc[i]; 

        }

        public Student()

        {

            this.fam = "nofam";

            this.name = "noname";

            this.oc = new int[5];

        }

        public String getfam() { return fam; }

        public void setfam(String fam1) { fam = fam1; }