C++ Проблема с std::cin std::cout
у меня есть проблема, код спокойно комплиируется в exe, а также первые два входа работают идеально, но когда приходит время для третей переменной программа начинает работать не так, при этом в коде всё одинкаово https://www.onlinegdb.com/online_c++_compiler - тут вы можете быстро скомплиировать.
#include <iostream>
int main()
{
std::cout << "Enter a: "; // просим пользователя ввести любое число
int a = 0;
std::cin >> a; // получаем пользовательское число и сохраняем его в переменную a
std::cout << "Enter b: "; // просим пользователя ввести любое число
char b = 0;
std::cin >> b; // получаем пользовательское число и сохраняем его в переменную b
std::cout << "Enter c: "; // просим пользователя ввести любое число
int c = 0;
std::cin >> c; // получаем пользовательское число и сохраняем его в переменную a
std::cout << "Finish" << std::endl;
return 0;
}
Первые две переменных идут правильно вот что происходит на третей
Подскажите пожалуйста как сделать чтобы я мог вводит третью переменную у меня это c. Если есть какие-либо вопросы задавайте.
[23.03.2020 19:22] Поправил: Изменил названия переменных, для большей простоты и понимания.
Ответы (1 шт):
Ну а что вы хотите?
char dll = 0;
std::cin >> dll;
Раз в char читаете - читает один символ (вас не удивляет вывод D на картинке?). А все остальное - LL.dll - идет из буфера при чтении
std::cin >> lvls;
Понятно, что это не число - вот реально в lvls ничего и не читается, для cin выставляется флаг ошибки fail (вы его не проверяете...).
Все просто.
Читайте строки - в строки :)
