Описать структуру для хранения информации - C#
Формулировка задачи:
1. Описать структуру для хранения следующей информации:
- название продукции
- стоимость за единицу
- количество
- дата выпуска
- изготовитель
2. Предусмотреть возможность добавления записей. Для хранения данный использовать стек.
3. Определить среднюю стоимость за единицу продукции, по каждому изготовителю.
Решение задачи: «Описать структуру для хранения информации»
textual
Листинг программы
struct Product
{
public string Name,Producer,Date;
public double Price;
public int Amount;
public Product(string name,string producer,string date,double price,int amount)
{
Name = name;
Producer = producer;
Date = date;
Price = price;
Amount = amount;
}
}
struct ProductContainer
{
Stack<Product> stack;
Dictionary<string,double> AveragePriceForEachProducer;
Dictionary<string, double> AmountOfProducForEachProducer;
Dictionary<string, double> SumPriceOfProducForEachProducer;
public void Add(Product p)
{
if(stack.Count<1) stack = new Stack<Product>();
stack.Push(p);
if (!AveragePriceForEachProducer.ContainsKey(p.Producer))
{
AveragePriceForEachProducer.Add(p.Producer, p.Price);
AmountOfProducForEachProducer.Add(p.Producer, 1);
SumPriceOfProducForEachProducer.Add(p.Producer, p.Price);
}
else
{
AmountOfProducForEachProducer[p.Producer]++;
SumPriceOfProducForEachProducer[p.Producer] += p.Price;
AveragePriceForEachProducer[p.Producer] = SumPriceOfProducForEachProducer[p.Producer] / AmountOfProducForEachProducer[p.Producer];
}
}
}