Лабораторная работа № 2.
Разработка программы "Меню" в C++ Builder

Цель работы

Написать программу расчета стоимости электронного заказа по меню. Список блюд выполнить с помощью компонента CheckBox. При выборе какого-либо блюда должна автоматически высчитываться стоимость заказа (при установлении флажка – счет должен увеличиваться на стоимость блюда, при снятии – уменьшаться на соответствующее значение). При нажатии на кнопку «Заказать» должно появляться сообщение об успешном заказе с общим счетом заказа.

Для создания формы использовать компоненты: 
Label – для подписей
CheckBox – для выбора
Edit – для вывода
Button – для инициирования вычислений
Рекомендуемая компоновка формы программы представлена на рисунке 1.
Рисунок 1. Рекомендуемая компоновка формы

Рекомендации для выполнения лабораторной работы:
    1) Запустить C++ Builder.  При запуске автоматически создается новый проект. Окно C++ Builder показано на рисунке 2. 
Рисунок 2. Интерфейс среды программирования C++ Builder

Для создания нового проекта, в случае если он не создался автоматически или вы его закрыли, выполнить команду меню File / New /Application.
Сохранить проект в свою рабочую папку, выполнив команду меню File / Save Project As. Будет сохранено несколько файлов проекта. 

    2) На панели компонентов выбрать вкладку Standard, выбрать компонент Label  и щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент CheckBox , Edit  и Button .  Расположить 3 объекта Label, 7 объектов CheckBox, 1 объект Edit и 1 объект Button на форму как показано на рисунке 1.
    3) Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и в окне свойств объекта во вкладке Properties изменить значение свойства Caption. Вместо подписи Form1 ввести «Меню».
 Рисунок 3. Свойство формы Caption (подпись)

    4) Изменить подписи объектов Label1- Label3 в соответствии с рисунком 1. Для этого выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить значение свойства Caption.
    5) Изменить подписи объектов CheckBox1 - CheckBox7. Название блюд можно придумать самим. Для изменения подписи объекта CheckBox выбрать каждый объект CheckBox и в окне свойств объекта во вкладке Properties изменить значение свойства Caption.
    6) Выбрать объект Edit1 и в окне свойств объекта во вкладке Properties присвоить свойству Text значение «0» (ноль).
    7) Поскольку объект Edit1 мы будем использовать для вывода результата (то есть заполняться он будет по нажатию на кнопку, а не вручную), нужно изменить его свойство ReadOnly  на значение true  (то есть сделать объект Edit4 только для чтения).
    8) Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств объекта во вкладке Properties изменить значение свойства Caption на «Заказать».
    9) Изначально ни одно блюдо не выбрано и общая стоимость заказа (счет) равна нулю. Для расчета общей стоимости заказа необходимо объявить глобальную переменную и задать ей значение 0 (ноль). Для этого нужно выделить форму и в окне свойств объекта во вкладке Events (События) дважды щелкнуть левой кнопкой мыши напротив события OnCreate. Перед заготовкой функции объявим переменную schet, а в теле функции приравняем переменную schet к нулю.
    10) Каждое блюдо из меню должно иметь свою стоимость. Допустим, цены на блюда будут следующие:
Фаршированная форель 369 руб.
Телятина под соусом 349 руб.
Крем-суп из шампиньонов 189 руб.
Рулет со шпинатом 179 руб.
Пицца Гавайская 299 руб.
Ванильный коктейль 149 руб.
Напиток Грейпфрут 199 руб.
Стоимость каждого блюда должна быть записана в массив price, который должен выглядеть следующим образом: 
Стоимость заказа должна состоять из стоимости выбранных блюд. Например, при выборе фаршированной форели (нулевой элемент в массиве) стоимость заказа должна увеличится на 369 руб., то есть shet=schet+price[0];
 Если мы отказываемся от форели (то есть снимаем галочку), то стоимость заказа должна уменьшится на 369 руб.,  то есть shet=schet-price[0]; Точно также должны обрабатываться остальные блюда.
    11) Для создания функции-обработчика нажатий для объекта CheckBox1 – необходимо дважды щелкнуть по нему левой кнопкой мыши. В появившейся заготовке функции необходимо написать программный код, который будет выполнятся при установке или снятию флажка в объекте CheckBox1.
Пример кода для объекта CheckBox1 (Фаршированная форель 369 руб.) приведен ниже:
Создать функции-обработчики для остальных пунктов меню (объектов CheckBox2 - CheckBox7).

    12) При нажатии на кнопку «Заказать» должно появиться сообщение о принятии заказа. В сообщении должна быть указана общая стоимость заказа.
Для обработки нажатия кнопки необходимо дважды щелкнуть левой кнопкой мыши на объекте Button1 и в появившейся заготовке функции написать программный код:
    13) Сохранить проект нажатием кнопки  на панели инструментов.
    14) Провести отладку и тестирование программы

Для защиты программы необходимо:
    1) Иметь рабочий вариант программы
    2) Знать основные свойства компонентов Label, CheckBox, Edit, Button и уметь их использовать.
    3) Ориентироваться в программном коде и знать все операторы, используемые в программе.
Comments