Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по c++

Леча Исраилов Профи (767), закрыт 2 месяца назад
Вот написал код, создал 2 переменные login и password, и прошу пользователя заполнить их. Типо написать свой логин и парольПосле запуска мне дает написать логин, но не дает написать пароль. Пишу логин, нажимаю enter и у меня моментально пишет "аккаунт создан", хоть я должен вводить свой пароль. Почему прога скипает это? Я ведь все также как и сверху написал
Лучший ответ
Рустам Абдрашитов Мудрец (10316) 2 месяца назад
В вашем коде проблема заключается в том, что вы используете тип `int` для переменных `login` и `password`. Это приводит к тому, что программа ожидает целочисленные значения и не позволяет ввести строку, как это требуется для логина и пароля.

Для исправления кода, необходимо использовать тип `std::string`. Вот исправленный вариант вашего кода:
 #include <iostream> 
#include <string>

int main() {
setlocale(LC_ALL, "RU");
std::string login, password;

std::cout << "Создание аккаунта" << std::endl;

std::cout << "Введите логин: ";
std::cin >> login;

std::cout << "Придумайте пароль: ";
std::cin >> password;

std::cout << std::endl << "Аккаунт успешно создан!" << std::endl;

return 0;
}
Леча ИсраиловПрофи (767) 2 месяца назад
а в тип данных string я ведь могу писать и числа, и буквы?
Рустам Абдрашитов Мудрец (10316) Леча Исраилов, Да, тип данных `std::string` в C++ позволяет хранить как числа, так и буквы, а также любой другой набор символов. Когда вы вводите данные в переменную типа `std::string`, программа считывает их как последовательность символов. Это делает `std::string` удобным для хранения текстовой информации, включая буквенные и числовые значения. Однако имейте в виду, что если вы введете число, оно будет храниться как строка, а не как числовое значение.
Остальные ответы
Андрей Высший разум (465017) 2 месяца назад
Строки надо объявлять строками, а не числами.

Построчный ввод лучше делать не через >>, а через getline.
Но если хочешь именно >>, то очищать буфер ввода после получения строки.
https://ru.stackoverflow.com/questions/562229/Очистка-буфера-ввода-cin
Похожие вопросы