Приложение, предназначенное для автоматизации предметной области - 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();
}
}