Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.07.2022
Сообщений: 2

Проблема с вводом в cin

27.07.2022, 14:05. Показов 505. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста решить проблему.
Программа предлагает пользователю ввести пароль. Введённый пользователем пароль помещается в переменную int pass. И если введённое значение соответствует 555, то программа выводит сообщение ПАРОЛЬ ПРАВИЛЬНЫЙ. Если же не соответствует, программа сообщает, что пароль неправильный и предлагает ввести пароль повторно перебрасывая с помощью goto на соответствующую строку кода. Так вот если пользователель вводит число, то программа отрабатывает корректно, но если он введёт например qwerty, то программа бесконечно зацикливается в else. Предполагается, что программа всегда должна выводить сообщение о неправильном пароле, если он не соответствует 555.

Я предполагаю, что нужно сделать проверку на тип данных, которые попадают в cin, но интересно существуют ли более простые способы.

#include <iostream>

int main()
{

int pass;
link:
std::cout << "Enter a password :";
std::cin >> pass;


if (pass == 555)
{
std::cout << "Your password is correct";
}
else
{
std::cout << "Error. Your password isn't correct" << std::endl;
goto link;
}
return 0;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.07.2022, 14:05
Ответы с готовыми решениями:

C++ проблема с вводом, getline(cin, *p) не работает
В общем есть вот такой вот код, я хочу, что бы ввод названия компании шел после ввода диаметра, но программа просто пропускает getline,...

Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами
Нужна помощь. Задача продемонстрировать различие между вводом с помощью cin.get и cin.getline с тремя параметрами, как из потока достать...

Проблема с cin.ignore() и cin.clear()
Есть проблема. Добавлено через 11 минут // ConsoleApplication6.cpp: определяет точку входа для консольного приложения. // ...

2
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
27.07.2022, 14:21
Самое простое это
C++
1
2
3
std::string pass;
...
if (pass=="555")
1
0 / 0 / 0
Регистрация: 27.07.2022
Сообщений: 2
27.07.2022, 15:05  [ТС]
Спасибо. Это работает как надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2022, 15:05
Помогаю со студенческими работами здесь

Как работает cin.peek, cin,get, cin.ignore, cin.clear?
Здравствуйте, товарищи и не товарищи!:) Я только начал изучать C++, а уже использую вещи, которые мне не понятны, и прошу объяснить, как...

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная &quot;защита от дурака&quot; на ввод. Не пойму предназначение cin.get()...

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear()
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

Проблема со вводом
Здравствуйте, в коде присутствует ошибки не могу разобраться как исправить. Помогите пожалуйста. cout was not declarated in this scope ...

Проблема с вводом
Приветствую! Писал уже на форум насчет проблемы, которую мне помогли устранить, но в следствии чего появилась новая. Старая: Выводилось два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru