Одинарный вывод сообщения в цикле foreach - C#
Формулировка задачи:
Есть некий код банкомата, где пользователю необходимо сначала ввести свой ид.
Если ввести ид Петра Евгеньевича, то сначала 2 раза выведет, что я не зарегистрирован, а потом работа с банкоматом. Как нормально сделать?
Bankomat[] banks = new Bankomat[] { new Bankomat(146251, 1500, 15, "Петров Иван Иванович"),
new Bankomat(146252, 3400, 80, "Сергеев Александр Сергеевич"),
new Bankomat(146253, 710, 55, "Леонтьев Петр Евгеньевич")};
Console.Write("Введите ваш id пожалуйста: ");
int id = Convert.ToInt32(Console.ReadLine());
string Y = "Y";
int money = 0;
string acc = "";
foreach (Bankomat x in banks)
if (id == x.id)
{
..../*Тут не важно*/
}
else
{
Console.Write("Вы еще не зарегистрированы в нашей системе, обратитесь к оператору \n");
break;
}Решение задачи: «Одинарный вывод сообщения в цикле foreach»
textual
Листинг программы
Bankomat[] banks = new Bankomat[] { new Bankomat(146251, 1500, 15, "Петров Иван Иванович"),
new Bankomat(146252, 3400, 80, "Сергеев Александр Сергеевич"),
new Bankomat(146253, 710, 55, "Леонтьев Петр Евгеньевич")};
Console.Write("Введите ваш id пожалуйста: ");
int id = Convert.ToInt32(Console.ReadLine());
string Y = "Y";
int money = 0;
string acc = "";
foreach (Bankomat x in banks)
if (id == x.id)
{
Console.WriteLine($"Здравствуйте {x.name}, вы находитесь на {Bankomat.adress}.");
while (Y == "Y"|| Y=="y")
{
Console.WriteLine("Какую операцию желаете совершить? \n 1 - Проверить баланс \n 2 - " +
"Снять деньги \n 3 - Зачислить деньги \n 4 - Переконвертировать деньги ");
string operation = Console.ReadLine();
switch (operation)
{
case "1":
x.Balance();
break;
case "2":
Console.WriteLine("С каким счетом работаем? Ru/Usd");
acc = Console.ReadLine();
if (acc == "Ru"||acc == "ru")
{
Console.WriteLine("Какую сумму желаете снять?");
money = Convert.ToInt32(Console.ReadLine());
x.WithdrawMoneyRu(money);
}
else if (acc == "Usd" || acc == "usd")
{
Console.WriteLine("Какую сумму желаете снять?");
money = Convert.ToInt32(Console.ReadLine());
x.WithdrawMoneyUsd(money);
}
else
{
Console.WriteLine("С такими валютами мы не работаем, проведите процедуру снова!");
}
break;
case "3":
Console.WriteLine("С каким счетом работаем? Ru/Usd");
acc = Console.ReadLine();
if (acc == "Ru" || acc == "ru")
{
Console.WriteLine("Какую сумму желаете внести?");
money = Convert.ToInt32(Console.ReadLine());
x.DepositMoneyRu(money);
}
else if (acc == "Usd" || acc == "usd")
{
Console.WriteLine("Какую сумму желаете внести?");
money = Convert.ToInt32(Console.ReadLine());
x.DepositMoneyUsd(money);
}
else
{
Console.WriteLine("С такими валютами мы не работаем, проведите процедуру снова!");
}
break;
case "4":
Console.WriteLine("Что хотите переконвертировать? Ru/Usd");
acc = Console.ReadLine();
if (acc == "Ru" || acc == "ru")
{
Console.WriteLine("Какую сумму будем конвертировать?");
money = Convert.ToInt32(Console.ReadLine());
x.ConvertToUsd(money);
}
else if (acc == "Usd" || acc == "usd")
{
Console.WriteLine("Какую сумму будем конвертировать?");
money = Convert.ToInt32(Console.ReadLine());
x.ConvertToRu(money);
}
else
{
Console.WriteLine("С такими валютами мы не работаем, проведите процедуру снова!");
}
break;
}
Console.WriteLine("Хотите выполнить еще операцию? Y/N");
Y = Console.ReadLine();
}
}
else
{
Console.Write("Вы еще не зарегистрированы в нашей системе, обратитесь к оператору \n");
break;
}