Console.Write ("\n\t\tList has been changed. Save (y/n)? ");
string s = Console.ReadLine ();
if (s.Equals ("Y") || s.Equals ("y"))
Write ();
}
}
public void Sort ()
{
if (men.Count == 0)
{
Console.WriteLine ("\n\tList is empty");
return;
}
switch (SortMenu ()) // Установите режим сортировки
{
default: return;
case 'n': /* Ваш код */ break;
case 'a': /* Ваш код */ break;
case 's': /* Ваш код */ break;
}
men.Sort ();
Show ();
}
public void Work ()
{
Console.WriteLine ("\n\t\t Linear List");
while (true)
{
switch (Menu ())
{
case 'q': Quit (); return;
case 's': Show (); break;
case 'a': Add (); break;
case 'd': Delete (); break;
case 'e': Edit (); break;
case 't': Sort (); break;
case 'r': Read (); break;
case 'w': Write (); break;
case 'h': Handle (); break;
}
}
}
public void Edit ()
{
if (men.Count == 0)
{
Console.WriteLine("List is empty");
return;
}
while (men.Count > 0)
{
Console.Write("\n\tEdit\t0...{0} (0 - to Quit): ", men.Count);
int n = Helper.AskInt("", 0, men.Count);
if (n == 0)
break;
Console.Write("\nEdit ");
men[n - 1].Edit(); // Здесь не работает индексатор
bModified = true;
Show();
}
}
public char Menu ()
{
Console.Write ("\n" +
"\n\t\tq - Quit\tt - Sort" +
"\n\t\ts - Show\tr - Read" +
"\n\t\ta - Add \tw - Write" +
"\n\t\td - Delete\te - Edit" +
"\n\t\th - Handle\n\n");
return Console.ReadLine().ToLower()[0];
}
public char SortMenu ()
{
Console.Write ("\n\t\tSorting\n" +
"\n\t\tn - By Name" +
"\n\t\ta - By Age" +
"\n\t\ts - By Status" +
"\n\t\tq - Quit\n\n");
return Console.ReadLine ().ToLower ()[0];
}
public char ManMenu ()
{
Console.Write (
"\n\t\ts - Student" +
"\n\t\tp - Professor" +
"\n\t\tq - Quit\n\n");
return Console.ReadLine ().ToLower ()[0];
}
public char ShowMenu ()
{
Console.Write (
"\n\t\tf - First Names" +
"\n\t\ts - Surnames" +
"\n\t\tn - Normal" +
"\n\t\tq - Don't show\n\n");
return Console.ReadLine ().ToLower ()[0];
}
public char ReadWriteMenu ()
{
Console.Write ("\n" +
"\n\t\tq - Quit" +
"\n\t\tt - Text" +
"\n\t\tb - Binary" +
"\n\t\ts - Soap" +
"\n\t\tx - XML\n\n");
return Console.ReadLine ().ToLower ()[0];
}
void Handle ()
{
if (men.Count == 0)
{
Console.WriteLine ("List is empty");
return;
}
switch (ShowMenu ())
{
case 'q': return;
case 'f':
HandleMen ("\n\tList of Man Names:", new ManDelegate (Man.Firstname));
break;
case 's':
HandleMen ("\n\tList of Man Surnames:", new ManDelegate (Man.Surname));
break;
case 'n': Show (); break;
}
}
void HandleMen (string title, ManDelegate func)
{
Console.WriteLine (men.Count == 0 ? "\n\tList is empty\n" : title);
for (int i = 0; i < men.Count; i++)
Console.WriteLine (" {0}. {1}", i + 1, func (men[i]));
}
// Индексатор нам не нужен, но создайте его в качестве упражнения
public Man this[int id]
{
get
{
// Ваш код. Не забудьте про защиту от неправильных значений id
}
set
{
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.