Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-й семестр / Лаб.работы / Мет.ук. к л.р.4.doc
Скачиваний:
64
Добавлен:
12.03.2016
Размер:
189.95 Кб
Скачать

Задание 4

Создать программу на языке C#, в которой:

  • определить класс на основе информации об объекте индивидуального варианта. Поля данных класса должны быть закрытыми (private), а методы класса открытыми (public). В классе должны быть конструктор с параметрами и конструктор без параметров, методы доступа к закрытым полям класса и методы ввода и вывода значений полей класса.

  • Создать массив объектов и обработку информации об объектах согласно индивидуальному варианту задания. Выполнить сортировку объектов по какому-либо полю.

Индивидуальные варианты взять из лабораторной работы №1.

Пример 4

В листинге 4 представлена программа, в которой определен класс Student. Поля данных класса являются закрытыми (private), а методы класса открытыми (public). В классе определены конструкторы, методы доступа к закрытым полям класса и методы ввода и вывода значений полей класса.

В программе формируется исходный список студентов, список студентов с минимальным рейтингом, а также осуществляется поиск информации о рейтинге студента по его фамилии. Исходный список студента сортируется по фамилии в алфавитном порядке.

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

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

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

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

Листинг 4

using System;

namespace ConsoleApplication1

{

class Student : IComparable <Student>

{ private string fam;

private string name;

private int grade; //рейтинг

public Student(string fam, string name, int grade)

{ this.fam = fam;

this.name = name;

this.grade = grade;

}

public Student(){}

public String getfam(){ return fam;}

public String getname(){ return name;}

public int getgrade(){ return grade;}

public void input()

{

Console.Write("Фамилия: "); fam = Console.ReadLine();

Console.Write("Имя: "); name = Console.ReadLine();

Console.Write("Рейтинг: "); grade = int.Parse(Console.ReadLine());

}

public void output()

{ Console.Write("{0,-15}{1,-15}{2}\n",fam,name,grade);

}

public int CompareTo(Student obj)

{ return fam.CompareTo(obj.getfam());

}

}

class Program {

public static void Main(String[] args) {

Console.Write("Введите кол-во студентов: ");

int n = int.Parse(Console.ReadLine());

Student[] st = new Student[n];

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

{ st[i] = new Student();

st[i].input();

}

Array.Sort(st);

Console.WriteLine("Список студентов: ");

Console.Write("{0,-15}{1,-15}{2,-10}\n","Фамилия","Имя","Рейтинг");

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

st[i].output();

int min = st[0].getgrade();

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

if (st[i].getgrade() < min)

min = st[i].getgrade();

Console.Write("Укажите фамилию студента: ");

string fam = Console.ReadLine();

string f; int fl = 0;

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

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

if (f.Equals(fam))

{ Console.Write("Рейтинг студента " + fam + " - " + st[i].getgrade());

fl = 1;

}

}

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

Console.WriteLine("\nСписок студентов с минимальным рейтингом: ");

Console.Write("{0,-15}{1,-15}{2,-10}\n", "Фамилия", "Имя", "Рейтинг");

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

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

st[i].output();

Console.ReadKey(true);

}

}

}

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

10

Соседние файлы в папке Лаб.работы