МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 53
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
М. П. Агеев |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ № 1 |
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ |
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ |
|
|
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР. № |
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2021
Цель работы: применение на практике принципов ООП
Задание
Необходимо разработать программу, которая демонстрирует покупку товаров в магазине. Программа может быть написана на любом языке программирования. Программа может быть как консольной, так и с элементами User Interface (далее UI).
Выполнение задания
Листинг функции Main
В основной функции Main осуществляется: создание экземпляров классов, отвечающих за покупателя и продукты; объявление списков List, которые имитируют список продуктов и корзину с товарами; вызов методов классов; вывод информации в консоль.
class Program
{
static void Main(string[] args)
{
//Инициализация покупателя
Customer customer = new Customer("Семен", 50, 10);
//Объявление списка покупок
List<string> productList = new List<string>();
//Вывод информации о покупателе
Console.WriteLine("Имя: " + customer.Name);
Console.WriteLine("Наличные: " + customer.MoneyBalance);
Console.WriteLine("Бонусы: " + customer.BonusBalance);
Console.WriteLine("\nСписок покупок:");
//Инициализация продуктов
MeatProducts meat = new MeatProducts("Мясо", "кг", pricePerUnit: 300, needQuantity: 2, butchered: true, discountPercentage: 10);
MilkProducts milk = new MilkProducts("Молоко", "л", pricePerUnit: 60, needQuantity: 1, fatPercentage: 5, discountPercentage: 50);
MilkProducts curd = new MilkProducts("Творог", "шт", pricePerUnit: 40, needQuantity: 4, fatPercentage: 1);
VegetablesAndFruits vegetable = new VegetablesAndFruits("Овощи", "кг", pricePerUnit: 120, needQuantity: 0.5f, weightCode: 149, discountPercentage: 10);
VegetablesAndFruits fruit = new VegetablesAndFruits("Фрукты", "кг", pricePerUnit: 80, needQuantity: 1, weightCode: 504);
//Добавление продуктов в список покупок
customer.AddToList(productList, meat);
customer.AddToList(productList, milk);
customer.AddToList(productList, curd);
customer.AddToList(productList, vegetable);
customer.AddToList(productList, fruit);
//Вывод списка покупок
for (int i = 0; i < productList.Count; i++)
{
Console.WriteLine(productList[i]);
}
//Действия в магазине
Console.WriteLine("\n" + customer.Name + " зашел в магазин.");
List<Product> cart = new List<Product>();
customer.WeighProduct(vegetable);
//customer.WeighProduct(fruit);
customer.AddToCart(cart, meat);
customer.AddToCart(cart, milk);
customer.AddToCart(cart, curd);
customer.AddToCart(cart, vegetable);
customer.AddToCart(cart, fruit);
customer.Pay(cart, customer);
Console.WriteLine("Наличные: " + customer.MoneyBalance + " р");
Console.WriteLine("Бонусы: " + customer.BonusBalance + " р");
Console.WriteLine("\n" + customer.Name + " вышел из магазина.");
}
}