HaoAsakura

1zad32

Sep 25th, 2023
995
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.96 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace TestFieldIthink
  5. {
  6.     public struct Storage
  7.     {
  8.         public string Name;
  9.         public int Size;
  10.         public List<string> items;
  11.  
  12.         private void ShowContent()
  13.         {
  14.             Console.Write($"\n[*] Склад {this.Name} содержит следующие предметы: ");
  15.  
  16.             for (int i = 0; i < items.Count; i++)
  17.                 Console.Write(items[i] + ", ");
  18.  
  19.             Console.WriteLine();
  20.         }
  21.  
  22.         public void Add()
  23.         {
  24.             for(int i = 0; i < Size; ++i)
  25.             {
  26.                 Console.Write($"\n[*] Введите {i + 1} предмет: ");
  27.                 string item = Console.ReadLine();
  28.                 items.Add(item);
  29.             }
  30.  
  31.             ShowContent();
  32.         }
  33.  
  34.         public void Delete(string item)
  35.         {
  36.             if (!items.Remove(item))
  37.                 Console.WriteLine($"[*] Объект '{item}' на складе {this.Name} не существует.");
  38.             else ShowContent();
  39.         }
  40.  
  41.         public Storage(string Name, int Size)
  42.         {
  43.             this.Name = Name;
  44.             this.Size = Size;
  45.  
  46.             this.items = new List<string>();
  47.         }
  48.  
  49.         //Неявное приведение типа из String в Storage
  50.         public static implicit operator Storage(string Name)
  51.         {
  52.             return new Storage(Name,5);
  53.         }
  54.  
  55.     }
  56.  
  57.     internal class Program
  58.     {
  59.         static void Main(string[] args)
  60.         {
  61.             List<string> stuff = new List<string>() { "Яблоко", "Дрель", "Лохушка", "Дед-Инсайд" };
  62.  
  63.             Storage
  64.                 //Явное
  65.                 fruits = new Storage("Фрукты",3),
  66.                 //Неявное
  67.                 materials = "Материалы",
  68.                 goods = new Storage("Вещи",1);
  69.  
  70.             List<Storage> storageList = new List<Storage>() { fruits,materials,goods };
  71.  
  72.             Console.Write("[!] В листе содержаться следующие склады: ");
  73.  
  74.             for (int i = 0; i < storageList.Count; i++)
  75.             {
  76.                 Console.Write($"{storageList[i].Name} ,");
  77.             }
  78.  
  79.             Console.Write("\n\n[?] Желаете заполнить эти склады? (Да/Нет):  ");
  80.  
  81.             string choise = Console.ReadLine();
  82.  
  83.             if (choise == "Нет")
  84.             {
  85.                 Console.WriteLine("\n[*] Склады оказались пустыми.");
  86.                 return;
  87.             }
  88.  
  89.             else
  90.             {
  91.                 for (int i = 0; i < storageList.Count; i++)
  92.                 {
  93.                     Console.WriteLine($"\n[*] Вы сейчас заполняете склад {storageList[i].Name}");
  94.                     storageList[i].Add();
  95.                 }
  96.             }
  97.  
  98.             Console.WriteLine("\n");
  99.         }
  100.     }
  101. }
  102.  
Advertisement
Add Comment
Please, Sign In to add comment