Не переходит курсор в позицию posx и posy - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не могу найти ошибку. У меня не переходит курсор в позицию posx и posy, и программа просто пишет 0 внизу. Код:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
void gotoxy(int xpos, int ypos);
int main()
{
    
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int strc,posx,posy;
    char strb;
    printf("   А Б В Г Д Е Ё Ж З И \n");
    printf("   _ _ _ _ _ _ _ _ _ _ \n");
    printf(" 1|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 2|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 3|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 4|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 5|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 6|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 7|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 8|_|_|_|_|_|_|_|_|_|_|\n");
    printf(" 9|_|_|_|_|_|_|_|_|_|_|\n");
    printf("10|_|_|_|_|_|_|_|_|_|_|\n");
    printf("Выберите место для стрельбы (в таком формате: ж 3)\n");
    scanf("%c%d",&strc,&strb);
    if (strb='А') posx=3;
    if (strb='Б') posx=5;
    if (strb='В') posx=7;
    if (strb='Г') posx=9;
    if (strb='Д') posx=11;
    if (strb='Е') posx=13;
    if (strb='Ё') posx=15;
    if (strb='Ж') posx=17;
    if (strb='З') posx=19;
    if (strb='И') posx=22;
    if (strc==1) posy=2;
    if (strc==2) posy=3;
    if (strc==3) posy=4;
    if (strc==4) posy=5;
    if (strc==5) posy=6;
    if (strc==6) posy=7;
    if (strc==7) posy=8;
    if (strc==8) posy=9;
    if (strc==9) posy=10;
    if (strc==10) posy=11;
    gotoxy(posx,posy);
    printf("0");
    getch();
    return 0;
}
void gotoxy(int xpos, int ypos)
{
  COORD scrn;    
 
  HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
 
  scrn.X = xpos; scrn.Y = ypos;
 
  SetConsoleCursorPosition(hOuput,scrn);
}

Решение задачи: «Не переходит курсор в позицию posx и posy»

textual
Листинг программы
 int i=0;
    for(i=0;i<255;i++)
{
    printf("#%d: %c\n",i,i);
}

Объяснение кода листинга программы

В данном коде:

  1. Объявлена переменная i типа int, которая инициализируется значением 0.
  2. Далее идет цикл for, который выполняется 255 раз, начиная с i=0 и до i<255.
  3. Внутри цикла выводится на экран позиция i и символ, соответствующий этой позиции в таблице символов (printf(#%d: %c\n,i,i)).
  4. Код не содержит никаких команд для перехода курсора в позицию posx и posy.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.417 из 5
Похожие ответы