Смекни!
smekni.com

Разработка специализированного программного модуля для решения указанной задачи (стр. 3 из 3)

{

Console.Write("\n Ваш выбор: ");

key = Console.ReadKey();

string sKey = Convert.ToString(key.KeyChar);

switch (sKey)

{

case "1": //переход в меню создания извещения на оплату

if (Tree.itemsNode != 0)

{

Console.WriteLine();

PricePhoneDialog(tree);

Console.WriteLine("\n 1. Извещение на оплату телефонного разговора");

Console.WriteLine(" 0. Выход в главное меню(клавиша ESC)");

}

else

Console.WriteLine("\n Картотека пуста!");

break;

case "0": //выход в главное меню

return;

break;

}

} while (key.Key != ConsoleKey.Escape);

}

//Меню для определения стоимости разговора

public static void PricePhoneDialog(Tree tree)

{

do

{

string sPhone = "";

ConsoleKeyInfo temp;

uint Phone = 0;

Console.Write("\n Номер телефона(ххх:хх:хх): ");

for (int i = 0; i < 7; i++)

{

temp = Console.ReadKey();

sPhone = sPhone + temp.KeyChar;

if (i == 2) Console.Write("-");

if (i == 4) Console.Write("-");

}

//контроль ввода номера телефона

try

{

Phone = uint.Parse(sPhone);

string FILE_NAME = sPhone + ".txt";

Tree.iSearch = false;

tree.TreeSearch(Phone);

if (Tree.iSearch == false) Console.WriteLine("&bsol;n Такой номер не найден");

else

{

bool index = false;

string sPrace = "";

uint Prace = 0;

do

{

Console.Write("&bsol;n Введите цену за минуту разговора: ");

sPrace = Console.ReadLine();

//контроль ввода цены разговора

try

{

Prace = uint.Parse(sPrace);

index = true;

}

catch (Exception)

{

Console.WriteLine("&bsol;n Ошибка: &bsol;"Цена&bsol;" не соответствует формату!");

continue;

}

} while (index != true);

//создание файла с извещением

if (File.Exists(FILE_NAME)) File.Delete(FILE_NAME);

using (StreamWriter output = File.CreateText(FILE_NAME))

{

sPhone = sPhone.Insert(3, "-");

sPhone = sPhone.Insert(6, "-");

output.WriteLine("Абонент: {0}", Tree.SearchName);

output.WriteLine("Номер телефона: {0}", sPhone);

output.WriteLine("Время разговора: {0}", Tree.SearchSTime);

output.WriteLine("Цена за минуту разговора: {0}", Prace);

output.WriteLine("===============");

output.WriteLine("Итого к оплате: {0}", Prace * (Convert.ToUInt32(Tree.SearchTime / 60) + 1));

Console.WriteLine("&bsol;n Файл {0} , с извещением на оплату, был успешно создан", FILE_NAME);

}

}

break;

}

catch (Exception)

{

Console.WriteLine("&bsol;n Ошибка: &bsol;"Номер телефона&bsol;" не соответствует формату!");

}

} while (true);

}

}

}