Ошибка при выводе массива на печать - C#
Формулировка задачи:
Описать класс, хранящий информацию о командировочных расходах работников.
Поля:
суточные в бел. рублях (константа),
ФИ работника,
транспортные расходы в бел. рублях,
количество дней.
Конструкторы:
по умолчанию;
с параметрами.
Методы:
getters/setters;
GetTotal( ) – расчёт общей величины расходов
(=транспортные + кол-во дней * суточные);
Show( ) – вывод всех полей на консоль по одному в строке в формате name=value;
Пример:
rate = 25000
account = Anton Slutsky
transport = 50000
days = 5
total = 175000
ToString( ) – переопределить метод ToString() для вывода информации в csv формате (все поля в одну строку через точку с запятой).
Пример:
25000;Anton Slutsky;50000;5;175000
В методе Main(…) консольного приложения сделать следующее:
1 Создать массив из пяти объектов, элемент с индексом 2 должен быть пустым, последний элемент должен быть создан с использованием конструктора по умолчанию, остальные – с использованием конструктора с параметрами.
2 Вывести все объекты массива на консоль с использованием метода Show().
3 Изменить транспортные расходы в последнем объекте в массиве.
4 Вывести общую продолжительность двух первых командировок.
Пример:
Duration = 9
5 Вывести массив на консоль с использованием метода ToString( )
код(многое проба шагов)
вот эта строка должна выводить, а на нее ругается компилятор
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace zadanie1
{
class Komandirovochnye
{
private string name; // ФИ работника
private int days; // Кол-во дней
public const decimal Sutochnye = 40; // Суточные
private decimal fare; // Транспортные расходы
private decimal total;//
public string Name
{
get{return name;}
set{name = value;}
}
public int Days
{
get{return days;}
set{days = value;}
}
public decimal Fare
{
get{return fare;}
set{fare = value;}
}
public decimal Total
{
get { return total = (fare + days * Sutochnye); }
set{total=(fare+ days*Sutochnye );}
}
public Komandirovochnye (string Name, int Days, decimal Sutochnye, decimal Fare/*, decimal Total*/)
{
name = Name;
days = Days;
Sutochnye=40;
fare = Fare;
total = Total;
}
public Komandirovochnye()
{
name = "Empty";
days = 0;
fare = 0;
total = 0;
}
public void showKom()
{
//Console.WriteLine("{0},{1},{2},{3} ", Name, Days, Sutochnye, Fare, Total);
Console.WriteLine("{0},{1},{2},{3} ", Name, Days, Sutochnye, Fare);
//Console.WriteLine("{0},{1},{2},{3} ", Fio, inday, Fare, Amount);
}
public void show()
{
//Console.WriteLine("{0},{1},{2},{3} ", Name, Days, Sutochnye, Fare, Total);
// Console.WriteLine("{0} ", Name);
// Console.WriteLine("{0},{1},{2},{3} ", ob.Name, ob.Days, Sutochnye, ob.Fare);
//Console.WriteLine("{0},{1},{2},{3} ", Fio, inday, Fare, Amount);
}
class MainClass : Komandirovochnye
{
static void Main()
{
// Komandirovochnye[] mission;
// mission = new Komandirovochnye[5];
// int i;
Komandirovochnye[] mission = new Komandirovochnye[5];
//for ( i = 0; i < 5; i++)
// {
//mission[i] = new Komandirovochnye();
// }
mission[0] = new Komandirovochnye("Ivan Simakovich", 5, Sutochnye, 25);
mission[2] = new Komandirovochnye("Anton Slutsky", 3, Sutochnye, 30/*, mission[2].Total*/);
mission[3] = new Komandirovochnye("Anton Slutsky", 4, Sutochnye, 40/*, mission[3].Total*/);
mission[4] = new Komandirovochnye();
Komandirovochnye ob = new Komandirovochnye("Ivan Simakovich", 5, Sutochnye, 100);
ob.showKom();
// Console.WriteLine("{0},{1},{2},{3} ", ob.Name, ob.Days, Sutochnye, ob.Fare);
Console.ReadLine();
// for (int i = 0; i < 5; i++)
// mission[i].showKom;
/* for ( i = 0; i < mission.GetLength(0); i++)
{
// Console.Write(mission[i] + " ");
} */
// mission[0].show;
Console.WriteLine("{0}", mission[0].Name);
// Komandirovochnye mission[0].showKom;
Console.ReadKey();
}
// public void showKo()
//{}
}
}
}// for (int i = 0; i < 5; i++) // mission[i].showKom;
Решение задачи: «Ошибка при выводе массива на печать»
textual
Листинг программы
public Komandirovochnye()
{
name = "Empty";
days = 0;
fare = 0;
total = 0;
}