Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace HW_6._7
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Введите количество покупателей:");
- Shop shop = new Shop();
- int userInput = Convert.ToInt32(Console.ReadLine());
- shop.CreateNewQueue(userInput);
- shop.Work();
- Console.ReadKey();
- }
- }
- class Client
- {
- private List<Product> _products = new List<Product>(0);
- private int _totalSum;
- Random random = new Random();
- public int Money { get; private set; }
- public Client(int money)
- {
- Money = money;
- }
- public void ShowProducts()
- {
- foreach (var product in _products)
- {
- product.ShowInfo();
- _totalSum += product.Price;
- }
- Console.WriteLine($"Общая стоимость продуктов-{_totalSum}\n");
- }
- public void BuyProducts()
- {
- if (_totalSum >= Money)
- {
- Console.WriteLine($"У вас не хватает денег");
- while (_totalSum >= Money)
- {
- int index = random.Next(0, _products.Count);
- _totalSum -= _products[index].Price;
- Console.WriteLine($"Удаляем товар:{_products[index].Name}\n");
- _products.RemoveAt(index);
- }
- }
- else
- {
- Console.WriteLine($"Забирайте свой товар");
- }
- Console.WriteLine("===============================");
- }
- public void AddProducts(List<Product> products)
- {
- foreach (var product in products)
- {
- _products.Add(product);
- }
- }
- public void RemoveProduct(List<Product> products)
- {
- products.RemoveAt(random.Next(0, products.Count));
- }
- }
- class Product
- {
- public string Name { get; private set; }
- public int Price { get; private set; }
- public Product(string name, int price)
- {
- Name = name;
- Price = price;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Наименование-{Name}, стоимость-{Price}");
- }
- }
- class Shop
- {
- Random random = new Random();
- private Queue<Client> _clients = new Queue<Client>();
- private List<Product> _products = new List<Product>
- {
- new Product("Помидоры", 10),
- new Product("Огурцы", 15),
- new Product("Баклажаны", 20),
- new Product("Перец",15),
- new Product("Картошка", 10),
- new Product("Лук", 10)
- };
- public void CreateNewQueue(int count)
- {
- for (int i = 0; i < count; i++)
- {
- Client client = new Client(random.Next(50, 80));
- client.AddProducts(_products);
- _clients.Enqueue(client);
- }
- }
- public void Work()
- {
- while (_clients.Count > 0)
- {
- Client client = _clients.Dequeue();
- client.ShowProducts();
- Console.WriteLine($"У покутеля денег {client.Money}\n");
- client.BuyProducts();
- Console.ReadKey();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement