Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Калькулятор который предупреждает что делить на нуь нельзя на c#

Бениёмин Саидазимов Ученик (121), закрыт 2 месяца назад
 using System; 

namespace project
{
class Program
{
static void Main()
{
float a, b;
string user_input;
Console.Write("Введите первое число: ");
a = float.Parse(Console.ReadLine());
Console.Write("Введите второе число: ");
b = float.Parse(Console.ReadLine());
Console.Write("Выберите операцию ('+','-','*','/'): ");
user_input = Console.ReadLine();

if (user_input == "+")
Console.WriteLine("Ответ: " + (a + b));
else if (user_input == "-")
Console.WriteLine("Ответ: " + (a - b));
else if(user_input == "*")
Console.WriteLine("Ответ: " + (a * b));
else if(user_input == "/")
Console.WriteLine("Ответ: " + (b / a));
if (a == 0 || b == 0 && user_input == "/")
Console.WriteLine("На нуль делить нельзя!");
else
Console.WriteLine("--------------------------------------------------\nError: 404, Пожалуйста перезагрузите программу!");
}
}
}
Я хочу что бы калькулятор выводил сообщение что на нуль делить нельзя, а у меня что то не работает. Спасибо за ответ!
Лучший ответ
ㅤ ㅤ ㅤ Профи (548) 2 месяца назад
using System;

namespace project
{
class Program
{
static void Main()
{
float a, b;
string user_input;
Console.Write("Введите первое число: ");
a = float.Parse(Console.ReadLine());
Console.Write("Введите второе число: ");
b = float.Parse(Console.ReadLine());
Console.Write("Выберите операцию ('+','-','*','/'): ");
user_input = Console.ReadLine();

if (user_input == "+")
Console.WriteLine("Ответ: " + (a + b));
else if (user_input == "-")
Console.WriteLine("Ответ: " + (a - b));
else if (user_input == "*")
Console.WriteLine("Ответ: " + (a * b));
else if (user_input == "/")
{
if (b == 0)
Console.WriteLine("На нуль делить нельзя!");
else
Console.WriteLine("Ответ: " + (a / b));
}
else
Console.WriteLine("--------------------------------------------------\nError: 404, Пожалуйста перезагрузите программу!");
}
}
}


проверка на деление на ноль выполняется только для случая, когда пользователь выбрал операцию деления. Однако, даже в этом случае, условие записано неправильно. У тебя написано if (a == 0 || b == 0 && user_input == "/"), что означает, что программа проверяет либо a == 0, либо b == 0 && user_input == "/"
Бениёмин СаидазимовУченик (121) 2 месяца назад
можно ли записать это в скобки?
 else if ((a == 0 || b == 0) && user_input == "/") 
Console.WriteLine("На нуль делить нельзя!");
Бениёмин Саидазимов Ученик (121) Бениёмин Саидазимов, Исправил на:
 else if (user_input == "/") 
{ 
    if (a == 0 || b == 0) 
        Console.WriteLine("На нуль делить нельзя!"); 
    else 
        Console.WriteLine(a + " / " + b + " = " + (a / b) + ";"); 
Всё работает, спасибо!
Остальные ответы
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (242274) 2 месяца назад
 try 
{
int result = a / b;
Console.WriteLine("Результат деления: " + result);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Ошибка деления на ноль: " + ex.Message);
}
Андрей Высший разум (426079) 2 месяца назад
Ну так ты СНАЧАЛА делишь и выводишь "Ответ", а только ПОТОМ проверяешь, что делитель равен 0. А надо наоборот: СНАЧАЛА проверить значение делителя и ПО РЕЗУЛЬТАТАМ этой проверки возвращать либо "Ответ", либо "На ноль делить нельзя".
Похожие вопросы