Вход в окно консоли Visual Studio не отображается - PullRequest
0 голосов
/ 27 мая 2020

Недавно я начал учиться программировать и начал с C ++. Я использую среду разработки Visual Studio Community 2019 для 64-разрядной версии Windows 10. Я написал небольшой код, который хотел отладить с помощью точек останова. Когда Visual Studio входит в режим отладки, в нижнем левом углу появляется следующее сообщение: «символы загрузки для kernel32.dll» (это сообщение не ограничивается kernel32.dll, но также ntdll.dll, KernelBase.dll, msvcp. dll, vcruntime140d.dll, ucrtbased.dll). Я открыл вкладку модуля и автоматически загрузил их все (я действительно не знаю, что это такое, некоторая ясность в этом отношении также была бы оценена), однако основная проблема остается: когда я ввожу ввод с клавиатуры в консоль, он не показывает введенный символ. После нажатия step-into он показывает значение, которое теперь было сохранено внутри объявленной переменной, и введенное значение на консоли, которое могло или не могло быть введено правильно, поскольку ввод символа невидим в окне консоли во время набора.

Это как-то связано со стеком, управлением кучей, оперативной памятью и т. Д. c.? Пожалуйста, объясните, что означает эта проблема и что я могу сделать для ее решения, поскольку нет смысла отлаживать, если я не вижу, что печатается или вводится на консоли.

Код показан ниже, если это так. требуется (программа принимает ввод от пользователя и сравнивает его со случайно сгенерированным числом, как показано):

#include <iostream>
#include <time.h>
#include <stdlib.h>
int main()
{
    int Guess, RandomNumber,End=1;
    srand(time(NULL));
    RandomNumber = rand() % 100 + 1;
    std::cout << "Enter a Number. (HINT: The number lies between 0 and 100!)";
    while (End != 0) //this is where I added a breakpoint.
    {
        do
        {
            std::cin >> Guess;

            if (Guess > RandomNumber)
            {
                std::cout << "You Guess is incorrect. The special number is smaller than your guess! ";
            }
            if (Guess < RandomNumber)
            {
                std::cout << "You Guess is incorrect. The special number is larger than your guess! ";
            }
        } while (Guess != RandomNumber);
        std::cout << "You are CORRECT! The number was: " << Guess<<std::endl<<"Press 1 to play again. To exit press 0"<<std::endl;
        std::cin >> End;
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...