Я делал консольную игру с C в Visual Studio 2019. Я создал код, который печатает переменную.
Это работает только тогда, когда значение больше 10.
Если значение переменной меньше 10, оно печатает 10 вместо 1, 2 вместо 20 ... 9 вместо 90 .
Я понятия не имею, как решить эту проблему.
Вот мой код
#include<stdio.h>
#include<windows.h>
int a =20;
void gotoxy(int x, int y) { //cursor goes to x, y
COORD CursorPosition = { x,y };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPosition);
}
void HideCursor() {
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info;
info.dwSize = 100;
info.bVisible = FALSE;
SetConsoleCursorInfo(consoleHandle, &info);
}
void count() {
char c = _getch();
switch (c) {
case 'p': a++; break;
case 'o': a--; break;
}
}
int main() {
system("mode con cols=10 lines=10");
system("cls");
HideCursor();
while (1) {
gotoxy(5, 5);
count();
printf("%d", a);
}
}