Консультация # 184804: Здравствуйте! У меня возникли сложности с таким вопросом: Требуется написать программу из области объектно-ориентированного программирования на С++. В Microcoft Visual Studio 2005. Код прокомментировать. Буду благодарна за помощь. ГОСТИНИЦА...
Здравствуйте! У меня возникли сложности с таким вопросом:
Требуется написать программу из области объектно-ориентированного программирования на С++. В Microcoft Visual Studio 2005. Код прокомментировать. Буду благодарна за помощь.
ГОСТИНИЦА Разработать приложение, позволяющее организовывать работу по учету занятости номеров гостиницы. Информация о номере хранится в некотором описателе номера. Описатель
номера «ЛЮКС» содержит следующую информацию: свободен или занят (0 или 1); количество комнат (не меньше двух) и количество проживающих (один или два гостя); дата регистрации и число дней проживания; суточный тариф проживания в номере. Описатель «ОДНОМЕСТНОГО» номера содержит следующую информацию: свободен или занят (0 или 1); дата регистрации и число дней проживания; суточный тариф проживания в номере. Описатель «МНОГОМЕСТНОГО «номера с
одержит следующую информацию: свободен или занят (0 или 1); количество мест и сколько занято(два числа); для каждого проживающего (от одного до четырёх гостей) дата регистрации и число дней проживания; суточный тариф проживания в номере для одного гостя. Информация обо всех номерах гостиницы сведена в таблицу. Каждый элемент таблицы содержит «указатель номера» и указатель на его описатель. Элементы упорядочены по возрастанию значений «указатель номера».
Обеспечить выполнение следующих
операций. Для таблицы:
Новый элемент, не нарушая упорядоченности; Найти элемент по заданному «указателю номера»; Удалить элемент, заданный «указателем номера»; Показать содержимое таблицы;Новый элемент, не нарушая упорядоченности; Найти элемент по заданному «указателю номера»; Удалить элемент, заданный «указателем номера»; Показать содержимое таблицы;
Для любого номера:
Вывести информацию о номере; Вер
нуть в качестве результата тип номера; Вернуть в качестве результата состояние номера (свободен или занят)ж вернуть в качестве результата число гостей в номере; Занять номер (с регистрацией гостя); освободить номер. Для многоместного номера: Занять или освободить часть номера (дополнить или сократить список проживающих). Вывести информацию о номере; Вернуть в качестве результата тип номера; Вернуть в качестве результата состояние номера (свободен или занят)ж вернуть в качестве результата
число гостей в номере; Занять номер (с регистрацией гостя); освободить номер.Вывести информацию о номере; Вернуть в качестве результата тип номера; Вернуть в качестве результата состояние номера (свободен или занят)ж вернуть в качестве результата число гостей в номере; Занять номер (с регистрацией гостя); освободить номер. Для многоместного номера: Занять или освободить часть номера (дополнить или сократить список проживающих). Вывести информац
ию о номере; Вернуть в качестве результата тип номера; Вернуть в качестве результата состояние номера (свободен или занят)ж вернуть в качестве результата число гостей в номере; Занять номер (с регистрацией гостя); освободить номер.
Для многоместного номера:
Занять или освободить часть номера (дополнить или сократить список проживающих). Занять или освободить часть номера (дополнить или сократить список проживающих).
Для приложения:
Оформить регистрацию гостя
в гостинице (при наличии свободного номера модифицировать состояние номера и вернуть в качестве результата сумму оплаты за проживание в номере); Вывести информацию о свободных номерах гостиницы; Определить занятость гостиницы (отношение числа занятых мест в номерах к общему числу мест в номерах), используя класс-интератор. Оформить регистрацию гостя в гостинице (при наличии свободного номера модифицировать состояние номера и вернуть в качестве результата сумму
оплаты за проживание в номере); Вывести информацию о свободных номерах гостиницы; Определить занятость гостиницы (отношение числа
занятых мест в номерах к общему числу мест в номерах), используя класс-интератор.
Порядок выполнения работы 1. На основе описания задачи определить состав классов. 2. Разработать иерархию классов и схему их взаимодействия. 3. Для каждого класса определить его состояние и необходимые методы. 4. Разработать и отладить все классы. Приложение реализовать в виде простой диалоговой программы. 5. Разработать и отладить класс, реализующий работу приложения. Предусмотреть в классе возможность
сохранения таблицы в файле и ее восстановления. 6. Разработать и отладить класс-итератор, с помощью которого реализовать дополнительные операции. 7. Повторить разработку контейнерного класса (вместе с необходимым итераторами), используя стандартную библиотеку STL. 8. Повторить разработку контейнерного класса (вместе с необходимыми итераторами),используя собственные шаблоны классов. 9. Реализовать приложение с использованием средств оконного интерфейса.
Здравствуйте, Tigresska! Предлагаю следующий вариант реализации в прикрепленном файле. На данном этапе проект работает в консоли(9-ый пункт не доработан), если нужны какие-либо дополнения или пояснения, пишите в мини-форум, обсудим.
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!