Я новичок в кодировании и мне было интересно, почему мой код работает не так, как я задумал.Я создаю код как учебную программу, чтобы помочь мне практиковать то, что я выучил.Код, кажется, работает нормально, как и ожидалось, когда я закомментирую строки 19 - 23, многострочный комментарий, но когда это не так, он начинает работать неожиданно.
#include <iostream>
int askUserNumber ()
{
std::cout << "Please input a number: " << std::endl; //ask user to input number
int userNumber; //define integer to store input
std::cin >> userNumber; // get input from user
return (userNumber); // return input to caller
}
void printUserNumber (int userNumber)
{
std::cout << "Your number input was: " << userNumber << std::endl; //print input to user screen
}
int main ()
{
/*
std::cout << "Please input your name: " << std::endl; // ask user name
int userName; // variable to store user name
std::cin >> userName; // get user name
*/
printUserNumber(askUserNumber()); // call to askUserNumber to get user input to print to screen
return(0);
}
Results (Без комментирования кода):
Пожалуйста, введите ваше имя:CoreyПожалуйста, введите номер:Ваш номер был введен: "someGarbageNumber"
Он не позволяет мне ввести число в этой части, и он просто печатает случайное число.
Результаты (с кодом комментирования):
Пожалуйста, введите номер:7Ваш номер был введен: 7
На этот раз все работает отлично и проблем нет.Я не понимаю, почему три строки, спрашивающие имя пользователя, заставляют его не позволять мне вводить число, когда вызов функции printUserNumber (askUserNumber ()) доходит до того, что выводит «Пожалуйста, введите число:» ине позволяет мне ввести один.Спасибо за любые ответы.Я надеюсь, что я написал свой вопрос в хорошем формате и объяснил свою проблему в ясной и прямой форме.Надеемся, что результаты будут раздел также позволит некоторую ясность.С нетерпением жду решения еще раз спасибо.