Определить среднюю стоимость за единицу продукции, по каждому изготовителю - C#
Формулировка задачи:
Задание определить среднюю стоимость за единицу продукции, по каждому изготовителю. Не как не могу сообразить как подсчитать среднюю цену.
class Prodykt { private string prod; private int z; private int kol; private DateTime data; private string izgot; public Prodykt() { prod = ""; z = 0; kol = 0; data = new DateTime(01, 01, 01); izgot = ""; } public Prodykt(string a, int b, int c, DateTime f, string s) { prod = a; z = b; kol = c; data = f; izgot = s; } public string PROD { get { return prod; } set { prod = value; } } public int Z { get { return z; } set { z = value; } } public int KOL { get { return kol; } set { kol = value; } } public DateTime DATA { get { return data; } set { data = value; } } public string IZGOT { get { return izgot; } set { izgot = value; } } public void Stok() { Console.WriteLine("Название продукта\t{0}\nЦена\t{1}\nКоличество\t{2}\nДата изготовления\t{3}\nИзготовитель\t{4}", this.prod, this.z, this.kol, this.data, this.izgot); } } class Program { static void Main() { int h; List<Prodykt> Ip = new List<Prodykt>(); do { Console.WriteLine("1 - Добавить элемент"); Console.WriteLine("2 - Показать данные"); Console.WriteLine("3 - Выход"); h = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (h) { case 1: { int day, year, mounth; Console.Write("Название продукта\n"); string A = System.Console.ReadLine(); Console.Write("Цена\n"); int B = Convert.ToInt32(Console.ReadLine()); Console.Write("Количество\n"); int C = Convert.ToInt32(Console.ReadLine()); Console.Write("Год\n"); year = Convert.ToInt32(Console.ReadLine()); Console.Write("Месяц\n"); mounth = Convert.ToInt32(Console.ReadLine()); Console.Write("День\n"); day = Convert.ToInt32(Console.ReadLine()); Console.Write("Изготовитель\n"); string S = System.Console.ReadLine(); DateTime F = new DateTime(year, mounth, day); Ip.Add(new Prodykt(A, B, C, F, S)); } break; case 2: { Console.WriteLine("Введите Изготовителя"); string v = System.Console.ReadLine(); foreach (Prodykt w in Ip) { if (w.IZGOT == v) { w.Stok(); Console.WriteLine(); } else { Console.WriteLine("Error"); } } } break; } } while (h != 3); } } }
Решение задачи: «Определить среднюю стоимость за единицу продукции, по каждому изготовителю»
textual
Листинг программы
using System; using System.Collections.Generic; namespace x{ class Prodykt { //Свойства public string PROD { get; set; } public int Z { get; set; } public int KOL { get; set; } public DateTime DATA { get; set; } public string IZGOT { get; set; } //Конструктор экземпляра public Prodykt(string a="", int b=0, int c=0, DateTime? f=null, string s="") { PROD = a; Z = b; KOL = c; DATA = f.HasValue ? f.Value : new DateTime(01, 01, 01); IZGOT = s; } //Методы public override string ToString() { return string.Format("Название продукта\t{0}\nЦена\t{1}\nКоличество\t{2}\nДата изготовления\t{3}\nИзготовитель\t{4}", PROD, Z, KOL, DATA, IZGOT); } } class Program{ static string read(string strMsg) { Console.Write(strMsg); return Console.ReadLine(); } static void Main(){ int h; List<Prodykt> Ip = new List<Prodykt>(); do{ Console.WriteLine(@"Меню: 1 - Добавить элемент 2 - Показать данные 3 - Выход"); h = int.Parse(read("Ваш выбор - ")); Console.WriteLine(); switch (h){ case 1: Ip.Add(new Prodykt(){ PROD=read("Название продукта - "), Z=int.Parse(read("Цена - ")), KOL=int.Parse(read("Количество - ")), DATA=new DateTime(int.Parse(read("Год - ")), int.Parse(read("Месяц - ")), int.Parse(read("День - "))), IZGOT=read("Изготовитель - ") }); break; case 2: string v = read("Введите Изготовителя - "); int k=0,sum=0; Ip.FindAll(x => x.IZGOT==v).ForEach(x => {Console.WriteLine(x); k++; sum+=x.Z; }); Console.WriteLine("Средняя цена {0}",1.0*sum/k); break; } }while (h != 3); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д