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

12. Класс Soft содержит информацию об установленном программном обеспечении. Поля класса: название программы, разработчик, занимаемый объем, дата завершения лицензии. Метод подсчитывает количество дней до завершения лицензии. По заданному названию программы узнать количество дней до завершения лицензии.

13. Класс Treug1 содержит информацию о треугольнике. Поля класса: стороны треугольника a, b, c. Метод проверяет существование треугольника и рассчитывает его площадь. Сколько треугольников имеют минимальную площадь.

14. Класс TV содержит информацию о телевизионной передаче. Поля класса: название передачи, время ее начала и окончания. Метод подсчитывает длительность передачи. Для заданной передачи найти время ее начала и окончания, и длительность.

15. Класс Treug2 содержит информацию о треугольнике. Поля класса: стороны треугольника a, b, c. Метод проверяет существование треугольника и рассчитывает его периметр. Сколько треугольников имеют периметр принадлежащий заданному диапазону.

Пример 1

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

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

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

Программа включает три файла:

-  student.h – файл с объявлением класса Student;

-  student.cpp -  файл с определением методов класса Student;

- main.сpp – файл с функцией main() и функцией compare().

Для создания программы использовалась среда разработки Qt Creator 3.0.0 (основан на Qt 5.2.0). На рисунке 1 показан состав проекта программы.

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

Создание проекта в Qt Creator: Файл -> Новый файл или проект … -> Проект без использования Qt -> Простой проект на С++.

Добавление класса в проект: Файл -> Новый файл или проект … -> С++ -> Класс С++.

Компиляция, сборка и выполнение проекта: Сборка -> Запустить.

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

Листинг  1

 // student.h

#ifndef STUDENT_H

#define STUDENT_H

#include <string>

using namespace std;

class Student

 { private:

     string fam;

     string name;

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

   public:

    Student();

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

    ~Student();

    string getfam();

    void setfam(string fam1);

    void input();

    void output();

    float sr_ball(); //рейтинг - средний балл

 };

#endif // STUDENT_H

// student.cpp

#include "student.h"

#include <iostream>

#include <iomanip>

using namespace std;

Student::Student()

 { fam = "nofam";

   name= "noname";

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

     oc[i] = 0;

 }

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

 { this->fam = fam;

   this->name = name;

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

     this->oc[i] = oc[i];

 }

Student::~Student(){ }

string Student::getfam() { return fam;}

void Student::setfam(string fam1){fam = fam1;}