@Gev4ik

Чтобы отнималась цифра?

Всем привет. Подскажите пожалуйста кому не тяжело. У меня есть оператор switch/case, в кейсах написаны варианты операторов связи России.

switch (RusOperator)
{
case "МТС":
{
Console.WriteLine("Ваш оператор МТС");
Console.Write("Сумма пополнение счета телефона: ");
Console.ReadLine();
break;
}
case "Теле2":
{
Console.WriteLine("Ваш оператор Теле2");
Console.Write("Сумма пополнение счета телефона: ");
break;
}
case "Билайн":
{
Console.WriteLine("Ваш оператор Билайн");
Console.Write("Сумма пополнение счета телефона: ");
break;
}
case "Мегафон":
{
Console.WriteLine("Ваш оператор Мегафон");
Console.Write("Сумма пополнение счета телефона: ");
break;
}
}
Есть переменная float money = 9447.50f;
Как сделать так, чтобы я мог вести *любую цифру* и она минусовалась от переменной money? То есть сумма 9447.50 минусовалась от любой цифры введенной в строке. Заранее спасибо огромное.
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
float lyboe_4islo = (float)Console.ReadLine(); //ввод, правда без проверки - число или нет

float money = 9447.50f - lyboe_4islo;
switch (RusOperator)
{
case "МТС":
{
Console.WriteLine("Ваш оператор МТС");
Console.Write("Сумма пополнение счета телефона:  " + money);
Console.ReadLine();
break;
}
case "Теле2":
{
Console.WriteLine("Ваш оператор Теле2");
Console.Write("Сумма пополнение счета телефона:  " + money);
break;
}
case "Билайн":
{
Console.WriteLine("Ваш оператор Билайн");
Console.Write("Сумма пополнение счета телефона:  " + money);
break;
}
case "Мегафон":
{
Console.WriteLine("Ваш оператор Мегафон");
Console.Write("Сумма пополнение счета телефона:  " + money);
break;
}
}


проверку можно сделать так:
bool proverka = false;
float lyboe_4islo;
while(proverka == false)
{
   try{
lyboe_4islo = (float)Console.ReadLine();
if(lyboe_4islo .GetType() == "System.Single" && lyboe_4islo != null) //System.Single == alias float
{
proverka = true;
}
}
catch{
//заглушка
}

}


upd
из комментариев проверка от Станислав Силин
float lyboe_4islo;
while (!float.TryParse(Console.ReadLine(), out  lyboe_4islo));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы