Логотип Автор24реферат
Заказать работу
%
уникальность
не проверялась
Контрольная работа на тему:

В работе требуется сконструировать класс с заданным набором свойств

уникальность
не проверялась
Аа
8699 символов
Категория
Программирование
Контрольная работа
В работе требуется сконструировать класс с заданным набором свойств .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

В работе требуется сконструировать класс с заданным набором свойств. Набор свойств следует взять в соответствии со своим вариантом задания. В класс также должны быть добавлены методы для просмотра и изменения значений любого из свойств объекта. Требования к конструированию класса: доступ к свойствам — закрытый, к методам — открытый. В классе следует предусмотреть конструктор по умолчанию, конструктор с параметрами. Действия, выполняемые программой: 1. создание объекта с помощью конструктора по умолчанию, 2. создание объекта с помощью конструктора с параметрами, 3. создание массива объектов (размерность массива 3 или 4 элемента), 4. инициализация свойств каждого объекта массива(исходные данные вводятся с клавиатуры), 5. просмотр свойств каждого объекта, 6. вычисление заданного параметра для массива объектов в соответствии с вариантом задания (выполнить с помощью глобальной функции). 26 вариант Название кинотеатра, Адрес, Количество мест, Средняя цена билетов. Определить кинотеатр с самым большим возможным доходом.

Нужно полное решение этой работы?

Решение

Потяни, чтобы посмотреть
Файл MovieTheatre.h
#ifndef MOVIE_THEATRE_H
#define MOVIE_THEATRE_H
#include <string>
/*
26 вариант
Название кинотеатра, Адрес, Количество мест, Средняя цена билетов
Определить кинотеатр с самым большим возможным доходом
*/
class MovieTheatre {
public: // открытая часть класса
MovieTheatre(); // конструктор по умолчанию
MovieTheatre(std::string, std::string, int, double); // конструктор с параметрами
~MovieTheatre() { }; // деструктор

// методы просмотра значений
std::string getName();
std::string getAddress();
int getPlaces();
double getPrice();

// методы изменения значений
void setName(std::string);
void setAddress(std::string);
void setPlaces(int);
void setPrice(double);

// для выполнения задания - метод вычисления возможного дохода
double sum();

private: // закрытая часть класса
std::string name; // Название кинотеатра
std::string address; // Адрес
int places; // Количество мест
double price; // Средняя цена билетов
};
#endif /* MOVIE_THEATRE_H */
Файл MovieTheatre.cpp
#include "MovieTheatre.h"
// конструктор по умолчанию
MovieTheatre::MovieTheatre() {
// устанавливаем заранее опреленный набор свойств
name = "Noname";
address = "Noaddress";
places = 0;
price = 0;
}
// конструктор с параметрами
MovieTheatre::MovieTheatre(std::string name, std::string address, int places, double price) {
// устанавливаем переданные в качестве параметров свойства
this->name = name;
this->address = address;
this->places = places;
this->price = price;
}
// методы просмотра значений
std::string MovieTheatre::getName() {
return name;
}
std::string MovieTheatre::getAddress() {
return address;
}
int MovieTheatre::getPlaces() {
return places;
}
double MovieTheatre::getPrice() {
return price;
}
// методы изменения значений
void MovieTheatre::setName(std::string name) {
this->name = name;
}
void MovieTheatre::setAddress(std::string address) {
this->address = address;
}
void MovieTheatre::setPlaces(int places) {
this->places = places;
}
void MovieTheatre::setPrice(double price) {
this->price = price;
}
// для выполнения задания - метод вычисления возможного дохода
double MovieTheatre::sum() {
return places * price;
}
Файл main.cpp
#include <iostream>
#include <string>
#include "MovieTheatre.h"
using namespace std;
// вычисление заданного параметра с помощью глобальной функции
// кинотеатр с самым большим возможным доходом
// возвращает индекс кинотеатра в массиве
int maxSum(MovieTheatre *array, int n) {
int ind = 0; // индекс кинотеатра с самым большим возможным доходом
for (int i = 1; i < n; i++) {
// если доход текущего кинотеатра больше, меняем индекс
if (array[i].sum() > array[ind].sum()) {
ind = i;
}
}
return ind;
}
// вывод свойств объекта (выделяем в функцию, чтобы не повторять код)
void printTheatre(MovieTheatre mt) {
cout << "Название: " << mt.getName() << endl;
cout << "Адрес: " << mt.getAddress() << endl;
cout << "Количество мест: " << mt.getPlaces() << endl;
cout << "Средняя цена билетов: " << mt.getPrice() << endl;
}
int main() {
setlocale(LC_ALL, "Russian");

// 1 . создание объекта с помощью конструктора по умолчанию
MovieTheatre mt;
cout << "Создание объекта с помощью конструктора по умолчанию:" << endl;
printTheatre(mt);

// 2. создание объекта с помощью конструктора с параметрами
MovieTheatre mtparam("Весна", "ул. Пушкина, 3", 400, 250);
cout << "Создание объекта с помощью конструктора с параметрами:" << endl;
printTheatre(mtparam);

// 3
50% задачи недоступно для прочтения
Переходи в Кампус, регистрируйся и получай полное решение
Получить задачу
Больше контрольных работ по программированию:

Напишите программу линейного типа на языке С

980 символов
Программирование
Контрольная работа

Какие меры можно предпринять для увеличения информационной скорости звена

369 символов
Программирование
Контрольная работа
Все Контрольные работы по программированию
Закажи контрольную работу
Оставляя свои контактные данные и нажимая «Узнать стоимость», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.