Главная страница
Навигация по странице:

  • Название жидкости Плотность (г/см

  • Указание

  • Название напитка Крепость Объем

  • Пз 14 Обратить внимание на правильное оформление отступов! Задание 1 Жидкости


    Скачать 24.08 Kb.
    НазваниеПз 14 Обратить внимание на правильное оформление отступов! Задание 1 Жидкости
    Дата10.12.2020
    Размер24.08 Kb.
    Формат файлаdocx
    Имя файлаП- 14.docx
    ТипДокументы
    #159407

    ПЗ 14


    Обратить внимание на правильное оформление отступов!

    Задание 1 – Жидкости


    Реализовать класс «Liquid» (жидкость), в котором есть такие атрибуты, как название, плотность.

    class Liquid

    {

    private:

    char name[256]; //название жидкости

    float density; //плотность жидкости

    }

    Определить конструктор, заполняющий название жидкости.

    Определить следующие методы:

    1. void SetDensity(float d) – изменение плотности.

    2. void SetName(char* name) – изменение названия.

    3. void Print() – вывод на экран информации о жидкости в следующем формате: «название_жидкости (плотность)».

    4. Переопределить операции (см. вариант).


    В тестах функции:

    1. Создать массив из 5-ти жидкостей. Дополнительный функционал: заполнить его значениями из файла liquids.txt.

      Название жидкости

      Плотность (г/см3)

      Вода

      1,00

      Молоко

      1,04

      Спирт

      0,80

      Пиво

      1,04

      Минеральная вода

      1,03

    2. Вывести на экран жидкости согласно условию (см. вариант).

    3. Отсортировать массив (см. вариант).

    4. Вывести на экран отсортированный массив.


    Указание:

    Для сортировки массива воспользуйтесь библиотечной функцией qsort().

    *Для загрузки данных из файла воспользуйтесь функцией fscanf().
    Вариант 1

    - переопределить операции сравнения (>, ==) по плотности;

    - вывести на экран жидкости с одинаковыми плотностями;

    - сортировать массив в порядке возрастания плотностей жидкостей.

    Вариант 2

    - переопределить операции сравнения (<, !=) по плотности;

    - вывести на экран жидкости с плотностями, большими указанной;

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

    Вариант 3

    - переопределить операции сравнения (>, ==) по длине названия жидкости;

    - вывести на экран жидкости с плотностями, меньшими указанной;

    - сортировать массив в порядке возрастания длин названия жидкости.
    Вариант 4

    - переопределить операции сравнения (<, !=) по длине названия жидкости;

    - вывести на экран жидкости, начинающиеся на указанную букву;

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

    Вариант 5

    - переопределить операции сравнения (>, ==) по названию жидкости по алфавиту;

    - вывести на экран жидкость с наименьшей плотностью;

    - сортировать массив по названию жидкости по алфавиту.

    Вариант 6

    - переопределить операции сравнения (<, !=) по названию жидкости по алфавиту;

    - вывести на экран жидкость с наибольшей плотностью;

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

    Вариант 7

    - переопределить операции сравнения (>, ==) по плотности;

    - вывести на экран жидкости, начинающиеся на указанную букву;

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

    Вариант 8

    - переопределить операции сравнения (<, !=) по плотности;

    - вывести на экран жидкости с наибольшей и наименьшей плотностями;

    - сортировать массив в порядке возрастания плотностей жидкостей.

    Вариант 9

    - переопределить операции сравнения (>, ==) по длине названия жидкости;

    - вывести на экран жидкости с наибольшей длиной названия;

    - сортировать массив в порядке возрастания длин названий жидкостей.

    Вариант 10

    - переопределить операции сравнения (<, !=) по длине названия жидкости;

    - вывести на экран жидкости с наименьшей длиной названия;

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

    Вариант 11

    - переопределить операции сравнения (>, ==) по названию жидкости по алфавиту;

    - вывести на экран жидкость, начинающуюся на наименьшую букву;

    - сортировать массив по названию жидкости по алфавиту.

    Вариант 12

    - переопределить операции сравнения (<, !=) по названию жидкости по алфавиту;

    - вывести на экран жидкость, начинающуюся на наибольшую букву;

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

    Вариант 13

    - переопределить операции сравнения (>, ==) по плотности;

    - вывести на экран жидкости с наименьшей и наибольшей плотностью;

    - сортировать массив в порядке возрастания плотностей жидкостей.

    Вариант 14

    - переопределить операции сравнения (<, !=) по плотности;

    - вывести на экран жидкости с плотностью, больше заданной;

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

    Вариант 15

    - переопределить операции сравнения (>, ==) по длине названия;

    - вывести на экран жидкости, начинающиеся на указанную букву;

    - сортировать массив в порядке возрастания длин названия.


    Задание 2 – Алкоголь


    На основе класса жидкостей из задания 1 создать производный класс «Alcohol» (спирт), имеющий новый атрибут – крепость (strength). Добавить методы:

    1. void SetStrength(int s) – изменение крепости.

    2. void Print() – вывод на экран информации о жидкости в следующем формате: «название_жидкости (плотность) – крепость%».


    Тесты на все методы производного класса.

    Задание 3 – Коктейль


    На основе класса Alcohol из задания 2 создать класс «Drink» (напиток), имеющий емкость (объем в мл). Добавить методы:

    1. void SetVolume(int v) – изменение объема.

    2. void Print() – вывод на экран информации о жидкости в следующем формате: «название_жидкости (крепость%) – объем мл»

    Переопределить операцию (см. вариант) для объектов класса Drink.
    В программе создать массив из 5-ти объектов класса Drink:

    Название напитка

    Крепость

    Объем

    Виски

    40

    50

    Ликер

    20

    100

    Вино

    10

    200

    Coca-Cola

    0

    500

    Пиво

    5

    500

    Вывести на экран 3 различных коктейля, полученных в результате сочетания напитков и выполнения операции и реализовать тесты на все методы производного класса.

    Вариант 1

    Операция смешивания напитков (сложение):

    1. Название результирующего напитка:

    «название_напитка_1 + название_напитка_2»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 2

    Операция разбавления водой (сложение с константой (объем воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 + вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:

    Вариант 3

    Операция увеличение объема (умножение на константу C):

    1. Название результирующего напитка:

    «название_напитка_1 x C»

    1. Крепость не меняется

    2. Объем результирующего напитка равен


    Вариант 4

    Операция испарения (вычитание константы (объема воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 - вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен объему:


    Вариант 5

    Операция смешивания напитков (сложение):

    1. Название результирующего напитка:

    «название_напитка_1 + название_напитка_2»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 6

    Операция разбавления водой (сложение с константой (объем воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 + вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 7

    Операция увеличение объема (умножение на константу C):

    1. Название результирующего напитка:

    «название_напитка_1 x C»

    1. Крепость не меняется

    2. Объем результирующего напитка равен


    Вариант 8

    Операция испарения (вычитание константы (объема воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 - вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен объему:



    Вариант 9

    Операция смешивания напитков (сложение):

    1. Название результирующего напитка:

    «название_напитка_1 + название_напитка_2»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 10

    Операция разбавления водой (сложение с константой (объем воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 + вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 11

    Операция увеличение объема (умножение на константу C):

    1. Название результирующего напитка:

    «название_напитка_1 x C»

    1. Крепость не меняется

    2. Объем результирующего напитка равен


    Вариант 12

    Операция испарения (вычитание константы (объема воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 - вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен объему:


    Вариант 13

    Операция смешивания напитков (сложение):

    1. Название результирующего напитка:

    «название_напитка_1 + название_напитка_2»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:


    Вариант 14

    Операция разбавления водой (сложение с константой (объем воды в мл - )):

    1. Название результирующего напитка:

    «название_напитка_1 + вода»

    1. Крепость напитка рассчитывается по формуле:



    1. Объем результирующего напитка равен суммарному объему:

    Вариант 15

    Операция увеличение объема (умножение на константу C):

    1. Название результирующего напитка:

    «название_напитка_1 x C»

    1. Крепость не меняется

    2. Объем результирующего напитка равен


    написать администратору сайта