Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Задания для выполнения лабораторной работы №11.




«Классы. Конструкторы и деструкторы»

 

Разработайте программу на языке С++, используя пользовательский тип данных – класс.

Вариант 1. Создайте класс Triangle (треугольник) для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции получения и изменения полей данных, вычисления площади, вычисления периметра, вычисления высот и определения вида треугольника (равносторонний, равнобедренный или прямоугольный).

Вариант 2. Создайте класс Complex (комплекс) для работы с комплексными числами. Комплексное число представляется парой чисел (a, b), где a – действительная часть, b – мнимая часть. Требуется реализовать операции сложения add: (a, b)+(c, d)=(a+b, c+d), вычитания sub: (a, b)-(c, d)=(a-b, c-d), умножения mul: (a, b)*(c, d)=(a*c-b*d, a*d+b*c), деления div: (a, b)/(c, d)=(a*c+b*d, b*c-a*d)/(c*c+d*d), сравнение equ: (a, b)=(c, d), если (a=c) и (b=d), сопряженное число conj: conj(a, b)=(a, -b).

Вариант 3. Создайте класс Account (счет), представляющий банковский счет. В классе должны быть четыре поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Открытие нового счета выполняется операцией инициализации. Необходимо выполнить следующие операции:

- сменить владельца счета;

- снять некоторую сумму денег со счета;

- положить деньги на счет;

- вычислить проценты;

- перевести сумму в доллары;

- перевести сумму в евро;

- получить сумму прописью (преобразовать в числительное).

Вариант 4. Создайте класс Goods (товары). В классе должны быть представлены поля: наименование товара, дата оформления, цена товара, количество единиц товара, номер накладной, по которой товар поступил на склад. Реализовать методы изменения цены товара, изменения количества товара (увеличения и уменьшения), вычисления стоимости товара. Метод toString() должен выдавать в виде строки стоимость товара.

Вариант 5. Создайте класс Payment (зарплата). В классе должны быть представлены поля: фамилия-имя-отчество, оклад, год поступления на работу, процент надбавки, подоходный налог, количество отработанных дней в месяце, количество рабочих дней в месяце, начисленная и удержанная суммы. Реализовать методы:

- вычисления начисленной суммы;

- вычисления удержанной суммы;

- вычисления суммы, выдаваемой на руки;

- вычисления стажа.

Стаж вычисляется как полное количество лет, прошедших от года поступления на работу, до текущего года. Начисления представляют собой сумму, начисленную за отработанные дни, и надбавки, то есть доли от первой суммы. Удержания представляют собой отчисления в пенсионный фонд (1% от начисленной суммы) и подоходный налог. Подоходный налог составляет 13% от начисленной суммы без отчислений в пенсионный фонд.

Вариант 6. Создайте класс Bill (счет), представляющий собой разовый платеж за телефонный разговор. Класс должен включать в себя поля номера телефона, тарифа за минуту разговора, скидки (в процентах), времени разговора (в минутах) и суммы к оплате. Реализовать метод вычисления суммы к оплате. В программе продемонстрировать создание, инициализацию и обработку массива объектов типа Bill с различными исходными данными для вычисления сумм к оплате. Вычислить общую сумму к оплате.

Вариант 7. Создайте класс AvtoVlad, хранящий информацию о владельце автомобиля: имя, номер автомобиля, номер техпаспорта, дата рождения, телефон, отделение регистрации ГИБДД. Доступ к данным класса организовать посредством соответствующих методов. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:

- ввод данных с клавиатуры;

- вывод данных массива на экран в виде таблицы;

- поиск и вывод информации о владельцах автомобилей, зарегистрированных в отделении ГИБДД;

- поиск и вывод информации об автовладельце по номеру автомобиля.

Вариант 8. Создайте класс Abonent, хранящий информацию о телефонном абоненте: фамилию, имя, дата рождения, адрес и телефонный номер. Доступ к полям класса организовать посредством соответствующих методов. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:

- ввод данных с клавиатуры;

- вывод данных массива на экран в виде таблицы;

- поиск и вывод информации о телефонных абонентах по номеру телефона.

Вариант 9. Создайте класс Bankomat, моделирующий работу банкомата. В классе должны содержаться поля для хранения идентификационного номера банкомата, информации о текущей сумме денег, оставшейся в банкомате, минимальной и максимальной суммах, которые позволяется снять клиенту в один день. Сумма денег представляется полями-номиналами 10-1000. Реализовать метод инициализации банкомата, метод загрузки купюр в банкомат и метод снятия определенной суммы денег. Метод снятия денег должен выполнять проверку на корректность снимаемой суммы: она не должна быть меньше минимального значения и не должна превышать максимальное значение. Метод toString() должен преобразовать в строку сумму денег, оставшуюся в банкомате.

Вариант 10. Создайте класс HomeLibrary (домашняя библиотека). В классе должны быть представлены поля: универсальный десятичный код (УДК) книги, наименование книги, фамилия-имя-отчество автора, издательство, год издания, цена. Доступ к полям класса организовать посредством соответствующих методов. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:

- добавление книги в библиотеку;

- удаление книги из библиотеки;

- поиск книги по УДК;

- сортировка по цене.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных