Другие языки программирования и технологии

Не работает прога c++ в чем здесь гвоздь?!


На фото весь код при выводе выводится верный введенный пароль, но при сравнении с паролем в проге результат получается неверным, почему?
Yilmaz Kose
Yilmaz Kose
381
Подозреваю что сравниваются указатели на строки, а не сами строки
попробуй сравнивать через strcmp(), а не через "=="
RD
Rajabali Davlatov
75 320
Лучший ответ
попробуй вывести на экран значения всех переменных и посмотри что с чем сравнивается - впрочем ты их и выводишь в 9 строке снизу - только они не выводятся.. . впрочем не удивительно - этож инопланетянский язык программирования в котором больше тратишь времени на поиск ошибок, а не на написание программы.
Сергей Чугунов
Сергей Чугунов
10 099
Вы пытаетесь сравнивать строки, их сравнивают вроди спомощью функции strcmp, а в таких ОО языках типа как Java, C#, VB NET спомощью методов Compare или Equals. Пишите так
if(strcmp(password.c_str(), password1.c_str()) printf("1");
if(strcmp(password.c_str(), password2.c_str()) printf("2");
else printf("0");

В ОО-языках типа Java итд если вы напишите вот так:
String a = "abc";
String b = "cde";

if(a.toString() == b.toString()) // то вы сравниваете вроде как объекты, потому-что toString возвращает класс String
также в вашем примере возможно.. . что она возвращает std::string, а хотя она может возвращает char[]

Да я нашел метод compare, нужно писать так:
if(password.compare(password1.c_str)) printf("1");
if(password.compare(password2.c_str)) printf("2");
else printf("0");
тебя значение нет для тру и фальш в смысле если то 12345 с этим = 100% то есть тру а у тебя нет к нему сравнения но и тру фальша тоже.
Hrach Vardanyan
Hrach Vardanyan
2 349
Yilmaz Kose здесь cpp здест не нужны указатели типа ТО, только элс нужен если что.
Хочешь верь. хочешь - нет, но ты сравниваешь не строки.. .
Ты сравниваешь указатели, которые естественно, указвают на разные области памяти, с потому не равны.
Для сравнения строк есть спец. функция
Михаил Окунев
Михаил Окунев
1 057
Гвоздь не иначе как в голове у автора вопроса. Крякай вдумчиво!