Непонятные символы вместо кириллицы в консоли - C (СИ)
Формулировка задачи:
Помогите, пожалуйста. В чём ошибка?
При запуске выводит:
#include <stdio.h>
#define X 1
#define Y 2
int main()
{
float x, y;
printf("Введите координаты точки:");
scanf("%f%f", &x, &y);
#ifdef X
#ifdef Y
if ((x*x + y*y < 1) && (X*x + Y*y - 2 == 0) && (-X*x + Y*y + 2 == 0))
{
printf("Точка %f%f лежит внутри закрашенной области.", &x, &y);
}
else
{
printf("Точка %f%f не лежит внутри закрашенной области.", &x, &y);
}
#endif
#endif
return 0;
}Решение задачи: «Непонятные символы вместо кириллицы в консоли»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#define X 1
#define Y 2
int main()
{
setlocale(LC_ALL, "Russian");
float x, y;
printf("Введите координаты точки:");
scanf("%f%f", &x, &y);
#ifdef X
#ifdef Y
if ((x*x + y*y < 1) && (X*x + Y*y - 2 == 0) && (-X*x + Y*y + 2 == 0))
{
printf("Точка %f%f лежит внутри закрашенной области.", &x, &y);
}
else
{
printf("Точка %f%f не лежит внутри закрашенной области.", &x, &y);
}
#endif
#endif
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и ввода-вывода данных.
- Установка русской локали для корректного вывода кириллических символов.
- Определение двух констант, используемых в дальнейшем в коде.
- Объявление переменных типа float для хранения введенных пользователем координат.
- Вывод сообщения с просьбой ввести координаты точки и предложение использовать клавишу пробела для разделения введенных значений.
- Считывание введенных пользователем координат с помощью функции scanf.
- Проверка условий для определения положения точки относительно закрашенной области.
- Вывод соответствующего сообщения в зависимости от результатов проверки.
- Завершение работы программы с возвратом 0.