C#

C#, пытался сделать калькулятор

Решил попрактиковаться и попытался сделать калькулятор только на начальной стадии, когда знаю что такое переменная, конвертация и остальная базовая инфромация.

Using System;

namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
//создание алгоритмов сбора данных, которые введет пользователь
int x;
int y;
int plus_or_minus;

Console.WriteLine("что будем делать +, -");
plus_or_minus = Convert.ToChar(Console.ReadLine());
Console.Beep();
Console.Clear();
Console.WriteLine("введите первое число: ");
x = Convert.ToInt32(Console.ReadLine());
Console.Beep();
Console.Clear();
Console.WriteLine("введите второе число:");
y = Convert.ToInt32(Console.ReadLine());
Console.Beep();
Console.Clear();
int minus = x - y;
int plus = x + y;
if (plus_or_minus == +)
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == -)
Console.WriteLine("ответ: " + minus);
else
Console.WriteLine("введен неправильный символ");
}
}
}

выходит ошибка:

ОшибкаCS1525Недопустимый термин ")" в выраженииConsoleApp3
ОшибкаCS1525Недопустимый термин ")" в выраженииConsoleApp3
Вот решение проблемы просто добавить к + -' ' так '+' '-'
Когда заносишь в одиночные кавычки компилятор знает
что нужно перевести '+' в цифры и потом может уже сравнивать с типом int - тип данных где вводятся только цифры.

А вот ошибка нашел 3 вариант

if (plus_or_minus == '+')
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == '-')
Console.WriteLine("ответ: " + minus);

если ставить ' ' то + и - этот переводится в цифры и сравнивается
с типом int plus_or_minus.

int plus_or_minus;

Больше ошибок не увидел
через 5 минут нашел еще ошибки или 1 ошибку ответ будет тут или в комментах и уже точно рабочий код.

если сравниваешь текст то текст обычно везде бывает в " "
а + это не текст или + без " " это оператор, не переменная какая ни будь, типа int x = 5; if (x < 10).

if (plus_or_minus == +) тут + без " " а внизу ответ " "
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == -)
Console.WriteLine("ответ: " + minus); - Почему у тебя ответ в " " а + без " "

И еще не знаю как в C# а в С++ так.
если в if else там где угодно если больше 1 действия то нужно
{ действия эти в код скобки брать}
Пока все правильно да у тебя после if и else 1 действие
это ConsoleWriteLine.

if (plus_or_minus == +)
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == -)
Console.WriteLine("ответ: " + minus);
else
Console.WriteLine("введен неправильный символ");
}

Больше ошибок не заметил.

2 Варианта ответа

1 вариант

string plus_or_minus; - поменять тип int на string string - это текстовый тип данных, и можно потом вводить туда текст + -и сохраниться он как текст. и сравнивать в if plus_or_minus == "+" или "-"

Console.WriteLine("что будем делать +, -");
plus_or_minus = Console.ReadLine();

if (plus_or_minus == "+")
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == "-")
Console.WriteLine("ответ: " + minus);

2 вариант оставить все как есть добавить 4 цифры)

if (plus_or_minus == 43)
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == 45)
Console.WriteLine("ответ: " + minus);

цифры узнал путем ввода + и - в программу
и добавил код вывода результата
Console.WriteLine(plus_or_minus);

а все из за этого
plus_or_minus = Convert.ToChar(Console.ReadLine());
записываешь и конвертируешь + -в символ в данные типа char.
И текст этот можно сравнивать как цифры)

А вот ошибка нашел 3 вариант

if (plus_or_minus == '+')
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == '-')
Console.WriteLine("ответ: " + minus);

если ставить ' ' то + и - этот переводится в цифры и сравнивается
с типом int plus_or_minus.

int plus_or_minus;
Ян Стоян
Ян Стоян
1 143
Лучший ответ
Игорь Кулыгин от души, душевно в душу. Прочитал и понял, что надо было поставить одинарные кавычки в:
if (plus_or_minus == '+')
и
else if (plus_or_minus == '-')

кстати, можно было только это оставить:

А вот ошибка нашел 3 вариант

if (plus_or_minus == '+')
Console.WriteLine("ответ: " + plus);
else if (plus_or_minus == '-')
Console.WriteLine("ответ: " + minus);

если ставить ' ' то + и - этот переводится в цифры и сравнивается
с типом int plus_or_minus.

int plus_or_minus;
Ян Стоян Да не знаю, что оставил уже оставил, всегда стараюсь объяснить человеку так чтоб он точно понял, да и просто вывел этот же ответ на первую строчку чтоб не запутался.