ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 17
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ
ФГАОУ ВО «СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ ЦИФРОВОГО РАЗВИТИЯ ИМЕНИ ПРОФЕССОРА Н.И. ЧЕРВЯКОВА
КАФЕДРА ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ
Отчёт по лабораторной работе №2
Объекты и классы (конструкторы, деструкторы)
По дисциплине
«Объектно-ориентированное программирование»
Выполнил:
Гочияев Рустам Рашидович
студент 3 курса группы ИБС-с-о-20-1
специальности 10.05.03
«Информационная безопасность
автоматизированных систем»
очной формы обучения
Проверил:
Соломонов Дмитрий Владимирович
Ставрополь, 2022
Лабораторная работа 2
Объекты и классы (конструкторы, деструкторы).
Вариант 5
Цель: познакомиться с основой объектного подхода в языке C#, созданием объектов, классов и механизмом наследования.
Задание. Организация, страховая компания, нефтяная компания, завод.
Код программы прикреплён в приложении А.
Пример работы программы:
Рисунок 1 – Страховая компания
Рисунок 2 – Нефтяная компания
Рисунок 3 – Завод
Вывод: мы познакомились с основой объектного подхода в языке C#, созданием объектов, классов и механизмом наследования.
Приложение А.
Program.cs
using System;
namespace Лаба2
{
internal class Program
{
static void Main(string[] args)
{
string typeoforganization;
int maxrevenue = 0;
int mustbe = 0;
Console.WriteLine("Выберите тип организации:\n 1. Страховая компания\n 2. Нефтяная компания\n 3. Завод\n");
int way = Convert.ToInt32(Console.ReadLine());
switch (way)
{
case 1:
typeoforganization = "Страховая компания";
break;
case 2:
typeoforganization = "Нефтяная компания";
break;
case 3:
typeoforganization = "Завод";
break;
default:
typeoforganization = "";
break;
}
if (way == 1)
{
insurancecompany my_ins = new insurancecompany(typeoforganization, maxrevenue, mustbe);
my_ins.Plann();
my_ins.PlanExecution();
my_ins.Check();
my_ins.SumM();
my_ins.Resultins();
}
else if (way == 2)
{
oilcompany my_oil = new oilcompany(typeoforganization, maxrevenue, mustbe);
my_oil.Plann();
my_oil.PlanExecution();
my_oil.Check();
my_oil.SumM();
my_oil.Resultoil();
}
else if (way == 3)
{
factory my_factory = new factory(typeoforganization, mustbe, maxrevenue);
my_factory.Plann();
my_factory.PlanExecution();
my_factory.Check();
my_factory.SumM();
my_factory.Resultfactory();
}
}
}
}
Organization.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Лаба2
{
public abstract class Organization
{
public int MaxRevenue;
public int MustBe;
public bool RevenueOk;
protected int RevenueReceived = 0;
public string TypeOfOrganization;
public Organization(string typeoforganization, int mustbe, int maxrevenue)
{
TypeOfOrganization = typeoforganization;
MustBe = mustbe;
MaxRevenue = maxrevenue;
}
public virtual void GetMaxRevenue()
{
if (TypeOfOrganization == "Страховая компания")
{
MaxRevenue = 48000;
}
else if (TypeOfOrganization == "Нефтяная компания")
{
MaxRevenue = 70000;
}
else if (TypeOfOrganization == "Завод")
{
MaxRevenue = 40000;
}
}
public virtual void Plan()
{
Console.WriteLine($"Выручка по плану{MaxRevenue}\n");
}
public virtual void PlanExecution()
{
Console.WriteLine($"\n Введите ваши средства: ");
RevenueReceived = Convert.ToInt32(Console.ReadLine());
}
public virtual void Check()
{
if (RevenueOk == true)
{
Console.WriteLine("\n Отчёт был отправлен ");
}
else
{
Console.WriteLine("\n Необходимо сверить данные о работе предприятия");
}
}
public virtual void SumM()
{
if (RevenueOk == false)
{
if (TypeOfOrganization == "Завод")
{
MustBe = 250;
Console.WriteLine($"Должно быть изготовлено материала: {MustBe} штук.");
}
else if (TypeOfOrganization == "Страховая компания")
{
MustBe = 100;
Console.WriteLine($"Должно быть застраховано новых клиентов: {MustBe} человек.");
}
else if (TypeOfOrganization == "Нефтяная компания")
{
MustBe = 10;
Console.WriteLine($"Должно быть добыто: {MustBe} баррелей.");
}
}
}
}
}
insurancecompany.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Лаба2
{
class insurancecompany : Organization
{
int received =0;
public insurancecompany(string typeoforganization, int mustbe, int maxrevenue) : base(typeoforganization, mustbe, maxrevenue) { }
public void Plann()
{
base.GetMaxRevenue();
Console.WriteLine($"Выручка по плану: {MaxRevenue} рублей");
}
public override void PlanExecution()
{
base.PlanExecution();
if (RevenueReceived >= MaxRevenue)
{
Console.WriteLine("Вы выполнили план по выручке, можно не сверять документы");
RevenueOk = true;
}
else
{
Console.WriteLine("Вы не выполнили план по выручке");
Console.WriteLine($"У вас недосдача: {MaxRevenue - RevenueReceived} рублей");
RevenueOk = false;
}
}
public override void SumM()
{
if (RevenueOk == false)
{
base.SumM();
Console.WriteLine("Введите количество изготовленного материала: ");
received = Convert.ToInt32(Console.ReadLine());
}
}
public void Resultins()
{
if (RevenueOk == false)
{
if (received < MustBe)
{
Console.WriteLine("План по количеству застрахованных человек не выполнен");
Console.WriteLine("Необходимо запустить рекламу и сделать скидочные купоны");
}
else if (received == MustBe)
{
Console.WriteLine("План по количеству застрахованных человек выполнен");
Console.WriteLine("Будут проверены все денежные переводы.Необходимо найти недосдачу.Будет проверка на предприятии");
}
else if (received > MustBe)
{
Console.WriteLine("План по количеству застрахованных человек перевыполнен");
Console.WriteLine("Будут проверены все денежные переводы. Будет проверка на предприятии");
}
}
}
}
}
oilcompany.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Лаба2
{
class oilcompany : Organization
{
int received =0;
public oilcompany(string typeoforganization, int mustbe, int maxrevenue) : base(typeoforganization, mustbe, maxrevenue) { }
public void Plann()
{
base.GetMaxRevenue();
Console.WriteLine($"Выручка по плану: {MaxRevenue} рублей");
}
public override void PlanExecution()
{
base.PlanExecution();
if (RevenueReceived >= MaxRevenue)
{
Console.WriteLine("Вы выполнили план по выручке, можно не сверять документы");
RevenueOk = true;
}
else
{
Console.WriteLine("Вы не выполнили план по выручке");
Console.WriteLine($"У вас недосдача: {MaxRevenue - RevenueReceived} рублей");
RevenueOk = false;
}
}
public override void SumM()
{
if (RevenueOk == false)
{
base.SumM();
Console.WriteLine("Введите количество изготовленного материала: ");
received = Convert.ToInt32(Console.ReadLine());
}
}
public void Resultoil()
{
if (RevenueOk == false)
{
if (received < MustBe)
{
Console.WriteLine("План по количеству застрахованных человек не выполнен");
Console.WriteLine("Необходимо запустить рекламу и сделать скидочные купоны");
}
else if (received == MustBe)
{
Console.WriteLine("План по количеству застрахованных человек выполнен");
Console.WriteLine("Будут проверены все денежные переводы.Необходимо найти недосдачу.Будет проверка на предприятии");
}
else if (received > MustBe)
{
Console.WriteLine("План по количеству застрахованных человек перевыполнен");
Console.WriteLine("Будут проверены все денежные переводы. Будет проверка на предприятии");
}
}
}
}
}
factory.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Лаба2
{
class factory : Organization
{
int received = 0;
public factory(string typeoforganization, int mustbe, int maxrevenue) : base(typeoforganization, mustbe, maxrevenue) { }
public void Plann()
{
base.GetMaxRevenue();
Console.WriteLine($"Выручка по плану: {MaxRevenue} рублей");
}
public override void PlanExecution()
{
base.PlanExecution();
if (RevenueReceived >= MaxRevenue)
{
Console.WriteLine("Вы выполнили план по выручке, можно не сверять документы");
RevenueOk = true;
}
else
{
Console.WriteLine("Вы не выполнили план по выручке");
Console.WriteLine($"У вас недосдача: {MaxRevenue - RevenueReceived} рублей");
RevenueOk = false;
}
}
public override void SumM()
{
if (RevenueOk == false)
{
base.SumM();
Console.WriteLine("Введите количество изготовленного материала: ");
received = Convert.ToInt32(Console.ReadLine());
}
}
public void Resultfactory()
{
if (RevenueOk == false)
{
if (received < MustBe)
{
Console.WriteLine("План по производству не выполнен");
Console.WriteLine("Будет проведена проверка на предприятии, для выяснения причин недоработки.");
}
else if (received == MustBe)
{
Console.WriteLine("План по производству выполнен");
Console.WriteLine("Будут проверены все денежные переводы. Необходимо найти недосдачу. Будет проверка на предприятии.");
}
else if (received > MustBe)
{
Console.WriteLine("План по производству перевыполнен");
Console.WriteLine("Будут проверены все денежные переводы. Будет проверка на предприятии.");
}
}
}
}
}