Вывести символ с кодом, равным третьем числу, в место экрана, которое определяется первыми двумя числами - C (СИ)
Формулировка задачи:
Написать программу, которая циклически приглашает ввести три целых числа. Первое число указывает позицию символа по горизонтали, второе - позицию символа по вертикали, третье - код символа. Программа должна вывести символ с кодом, равным третьем числу, в место экрана, которое определяется первыми двумя числами. Завершить программу, если пользователь по первое число введет значение 0.
Решение задачи: «Вывести символ с кодом, равным третьем числу, в место экрана, которое определяется первыми двумя числами»
textual
Листинг программы
#include <stdio.h>
#include <windows.h>
void gotoxy(int xpos, int ypos)
{
COORD scrn;
HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
scrn.X = xpos; scrn.Y = ypos;
SetConsoleCursorPosition(hOuput, scrn);
}
int main()
{
int a, y, x;
while(1)
{
scanf("%d", &a);
if(a == 0) break;
scanf("%d", &y);
scanf("%d", &x);
gotoxy(x, y);
printf("%c", a);
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и Windows API
- Определение функции gotoxy, которая позиционирует курсор на экране в соответствии с двумя числами (xpos, ypos)
- Получение дескриптора стандартного вывода
- Установка координат курсора на экране с помощью функции SetConsoleCursorPosition
- Ввод трех чисел с помощью функции scanf в переменные a, y, x
- Если первое число (a) равно 0, то выход из цикла while(1)
- Вывод символа с кодом, равным третьему числу (a), в место экрана, которое определяется первыми двумя числами (x, y) с помощью функции printf