C#
Простая программа на C#: ввод, расчет и вывод результата
Простая программа на C# для новичка — это не большой проект, а маленький сценарий: пользователь вводит данные, программа проверяет ввод, считает результат и выводит ответ. Например, сделаем расчет стоимости заказа: цена, количество, скидка и итог. Такой пример сразу показывает Console.ReadLine, переменные, условие, метод и запуск через dotnet run
Создайте проект
В терминале:
dotnet new console -n SimpleOrderApp
cd SimpleOrderApp
dotnet run
Откройте Program.cs. В современных шаблонах C# можно писать код прямо в файле, без явного класса Program. Это нормально для первых уроков
Первый вариант программы
Console.Write("Цена товара: ");
decimal price = decimal.Parse(Console.ReadLine() ?? "0");
Console.Write("Количество: ");
int count = int.Parse(Console.ReadLine() ?? "0");
decimal total = price * count;
if (total >= 5000)
{
total *= 0.9m;
}
Console.WriteLine($"Итого к оплате: {total}");
Программа спрашивает цену и количество, считает итог, применяет скидку 10% от 5000 рублей и выводит результат. Суффикс m у числа 0.9m означает decimal, это удобный тип для денежных расчетов
Улучшаем проверку ввода
decimal.Parse и int.Parse могут уронить программу, если пользователь введет текст. Для нормального учебного примера лучше использовать TryParse
Console.Write("Цена товара: ");
if (!decimal.TryParse(Console.ReadLine(), out decimal price))
{
Console.WriteLine("Ошибка: цена должна быть числом");
return;
}
Console.Write("Количество: ");
if (!int.TryParse(Console.ReadLine(), out int count))
{
Console.WriteLine("Ошибка: количество должно быть целым числом");
return;
}
Теперь программа не падает, а объясняет, что исправить
Выносим расчет в метод
Когда логика начинает расти, расчет лучше вынести отдельно:
static decimal CalculateTotal(decimal price, int count)
{
decimal total = price * count;
if (total >= 5000)
{
total *= 0.9m;
}
return total;
}
Вызов:
decimal total = CalculateTotal(price, count);
Console.WriteLine($"Итого к оплате: {total}");
Так код становится понятнее: ввод отдельно, расчет отдельно, вывод отдельно
Полезная привычка для первой программы — читать код как сценарий пользователя. Сначала человек видит понятный вопрос, потом вводит значение, потом получает ответ. Если между этими шагами спрятать сложные вычисления, новичку труднее найти ошибку. Поэтому даже в маленьком примере удобно держать порядок: ввод, проверка, расчет, вывод. Такой стиль потом переносится в формы, API и обработчики кнопок
Как проверить результат
Запустите программу и введите 1000 и 3. Итог должен быть 3000, скидки нет. Потом введите 2000 и 3. До скидки получается 6000, после скидки — 5400
Проверка руками важна: вы не просто смотрите на код, а убеждаетесь, что программа решает задачу
Еще проверьте граничные случаи: количество 0, отрицательную цену, пустую строку вместо числа. Для настоящей программы такие значения нужно запрещать отдельными условиями. В учебном примере достаточно увидеть, где именно должна стоять проверка, чтобы программа не принимала бессмысленный заказ
Частые ошибки
Первая ошибка — забыть, что ввод из консоли приходит строкой. Вторая — использовать double для денег без причины, хотя для цен чаще подходит decimal. Третья — писать весь код одним полотном и не выносить расчет в метод. Четвертая — не проверять неправильный ввод
Мини-задача: добавьте стоимость доставки. Если итог после скидки меньше 3000 рублей, доставка стоит 350 рублей. Если 3000 или больше — доставка бесплатная
Что почитать дальше по C#
- C# с нуля: первый проект через dotnet new
- Типы, переменные и строки в C#
- Console.ReadLine в C#
- Рубрика C#
Что почитать дальше по C#
Если нужен общий маршрут по теме, откройте рубрику C#. Для соседних задач пригодятся эти разборы:
- C# с нуля: первый проект через dotnet new
- Как установить .NET SDK для C#
- Классы и свойства в C#: первый пример
- Типы, переменные и строки в C#