Приложение, предназначенное для автоматизации предметной области - C#
Формулировка задачи:
Вот задания.
Разработать приложение, предназначенное для автоматизации предметной области в соответствии с вариантом задания.
Для этого необходимо создать два класса: Класс 1 и Класс 2.
Класс 1 предназначен для описания любой из записей ведомости. Поля данного класса должны соответствовать полям ведомости, которые предназначены для хранения исходных данных. Получение текущих значений полей, расчеты по формулам должны выполняться с помощью соответствующих нестатических методов этого класса. Для установки значений полей должен использоваться конструктор с параметрами.
Класс 2 должен содержать статические методы: метод main() -точку входа в программу, необходимое количество методов для подсчета итоговых данных ведомости, метод для вывода всех данных ведомости на консоль. В методе main() должен быть определен массив объектов типа Класс 1 для хранения соответствующих объектов.
Приложение должно обеспечивать:
1.Возможность использования текстового меню для выбора
вариантов действий пользователя.
2.Ввод с консоли количества записей, которое будет
содержаться в ведомости, значений исходных полей каждой записи ведомости.
3.Создание объектов Класса 1, количество которых соответствует количеству записей ведомости.
4.Добавление объектов Класса 1 в массив
5.Вычисление итоговых данных.
6.Вывод на консоль исходных и расчетных данных каждой записи ведомости, а также' итоговой информации ведомости в виде:
•настоящей таблицы с горизонтальными и вертикальными линиями сетки (числовые значения должны выводиться с определенным количеством знаков после запятой с использованием средств форматного вывода )
7.Предотвращение появления ошибок при выполнении программы
8.Возможность редактирования любого поля любой из введенных записей ведомости
Задание 2.
Преобразовать приложение для обработки ведомости (см. задание 1) так, чтобы в нем использовалось отношение агрегации, а его функциональные возможности остались прежними.
Приложение должно содержать три класса:
1.Класс - «целое», описывающий ведомость с множеством записей.
2.Класс - «часть», который описывает любую запись ведомости.
3. Класс, содержащий главный метод программы, в котором должен создаваться один объект класса - «целого» и с использованием ссылки на этот объект вызываться методы класса - «целого».
Вот код, есть ошибки не могу их исправить, не пойму даже как, подскажите пожалуйста кто сможет.
using Labba3; using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //namespace Labba3 //{ // class Program // { // static void Main(string[] args) // { // } // } //} class ProdykciyList { public object[] sum { get; set; }private Prodykciy[] lst; public ProdykciyList(int n) { lst = new Prodykciy[n]; } public void AddProdykciy(string Prodykt, int kol, double opto, double sebes, double pribl, int index) { lst[index] = new Prodykciy(Prodykt, kol, opto, sebes); // } // public double CalculateAverageVolume() // { double sum = 0; for (int i = 0; i < lst.Length; i++) sum = kol * (opto - sebes); } public void PrintTable() { Console.WriteLine("Продукцыя\tКоличество\tОптовая цена\tСебестоимость\tПрибыль"); foreach (Prodykciy A in lst) { Console.WriteLine("{0}\t{1}\t{2}\t{3,10:f4}", A.GetProdykt(), A.GetKol(), A.GetOpto, A.GetSebes, A.GetPribl, A.GetSum()); } Console.WriteLine("\nИтого:\t\t\t{0,6:f2}", sum); } internal void AddProdykciy(string prodykt, double kol, double opto, double sebes) { // throw new NotImplementedException(); } public object kol { get; set; } public object opto { get; set; } public object sebes { get; set; } } class Program { public static double sebes { get; set; }public static double opto { get; set; }public static double kol { get; set; } static void Main(string[] args) { Console.Write("Введите количество продукции: "); int n = int.Parse(Console.ReadLine()); ProdykciyList Vedomost = new ProdykciyList(n); string prodykt; int kol; double opto, sebes; for (int i = 0; i < n; i++) { Console.Write("Введите Продукцию:"); prodykt = Console.ReadLine(); Console.Write("Введите количество товара :"); kol = int.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Введите оптовую стоемость товара :"); opto = double.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Введите себестоимость товара :"); sebes = double.Parse(Console.ReadLine()); Console.WriteLine(); Vedomost.AddProdykciy(prodykt, kol, opto, sebes); } Console.WriteLine(); Vedomost.PrintTable(); Console.WriteLine(); } }
Решение задачи: «Приложение, предназначенное для автоматизации предметной области»
textual
Листинг программы
using Labba3; using System; class ProdykciyList { //Поля класса private Prodykciy[] lst; private int index = 0; //Свойства //конструкторы public ProdykciyList(int n) { lst = new Prodykciy[n]; } //методы public void AddProdykciy(string Prodykt, int kol, double opto, double sebes) { lst[index++] = new Prodykciy(Prodykt, kol, opto, sebes); } public void PrintTable() { Console.WriteLine("Продукция\tКоличество\tОптовая цена\tСебестоимость\tПрибыль"); foreach (Prodykciy __produkt in lst) { Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4,10:f4}", __produkt.Name, __produkt.Amount, __produkt.Opto, __produkt.Sebes, __produkt.Pribl); } } } class Program { static void Main(string[] args) { Console.Write("Введите количество продукции: "); int productCount = int.Parse(Console.ReadLine()); ProdykciyList Vedomost = new ProdykciyList(productCount); string prodykt; int kol; double opto, sebes; for (int i = 0; i < productCount; i++) { Console.Write("\nВведите Продукцию:"); prodykt = Console.ReadLine(); Console.Write("\nВведите количество товара :"); kol = int.Parse(Console.ReadLine()); Console.Write("\nВведите оптовую стоимость товара :"); opto = double.Parse(Console.ReadLine()); Console.Write("\nВведите себестоимость товара :"); sebes = double.Parse(Console.ReadLine()); Vedomost.AddProdykciy(prodykt, kol, opto, sebes); Console.WriteLine(); } Console.WriteLine(); Vedomost.PrintTable(); Console.WriteLine(); Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д