Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой по ОИиВТ - Сдано.doc
Скачиваний:
22
Добавлен:
01.04.2014
Размер:
409.6 Кб
Скачать

4.2. Содержание модуля “film.Cpp”

#include <string>

#include <iostream>

class Film

{

private: // private переменные - данные по фильму (не доступны из основного кода программы)

char * name; // имя фильма

char * date; // дата сеанса

char * time; // время сеанса

int room; // номер зала

int cost; // цена билета

bool tickets[16][20]; //массив логических переменных – это “места в зале” (свободные места - true, занятые места – false)

public:

Film(char * newName, char * newDate, char * newTime, int newRoom, int newCost) // конструктор класса

{

name = new char [100]; // выделение области динамической памяти для хранения массива символов

strcpy (name, newName);

date = new char [100];

strcpy (date, newDate);

time = new char [100];

strcpy (time, newTime);

room = newRoom;

cost = newCost;

for (int j=0; j < 16; j++)

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

tickets[j][i] = true; // инициализация массива мест в кинотеатре

// т.к. не во всех рядах именно по 20 мест, то используются только первые “x” позиций массива, а остальные позиции игнорируются

}

~Film() // деструктор класса

{

delete name; // освободить место в динамической памяти

delete date; // освободить место в динамической памяти

delete time; // освободить место в динамической памяти

}

char * getName() // вернуть значение переменной name

{

return name;

}

char * getDate() // вернуть значение переменной date

{

return date;

}

char * getTime()// вернуть значение переменной time

{

return time;

}

int getRoom() // вернуть значение переменной room

{

return room;

}

int getCost() // вернуть значение переменной cost

{

return cost;

}

bool getTicket(int row, int seat)

{

return tickets[row][seat]; // вернуть позицию массива tickets

}

void setName(char * newName) // установить значение “newName” переменной “name”

{

strcpy (name, newName);

}

void setDate(char * newDate)

{

strcpy (date, newDate);

}

void setTime(char * newTime)

{

strcpy (time, newTime);

}

void setRoom (int room_id)

{

room = room_id;

}

void setCost (int newCost)

{

cost = newCost;

}

void setTicket (int row, int seat)

{

tickets[row][seat] = ! tickets[row][seat]; // изменить значение элемента массива tickets на противоположное

}

void printFilm () // вывести информацию по фильму

{

std::cout << "Title: " << name << " "; // вывод надписи на экран

std::cout << "Date: " << date << " "; // вывод надписи на экран

std::cout << "Time: " << time << " "; // вывод надписи на экран

std::cout << "Room: " << room << " "; // вывод надписи на экран

std::cout << "Price: " << cost << "\n"; // вывод надписи на экран

}

};