Професионална програма
Loading...
+ Нов въпрос
Ivailo_Stanchev avatar Ivailo_Stanchev 1 Точки

Задача Password Guess

Здравейте,

моля за съвет къде греша Judge ми дава 66% за решението ми  https://pastebin.com/fhQuUCS5 , незнам къде ми е грешката ще се радвам някой да ми я разясни услувието е " Да се напише програма, която чете парола (един ред с произволен текст), въведена от потребителя, и
проверява дали въведеното съвпада с фразата “s3cr3t!P@ssw0rd”. При съвпадение да се изведе
“Welcome”. При несъвпадение да се изведе “Wrong password!”. " . Предварително благодаря :)

0
PHP Basics 28/05/2018 21:15:35
Volen99 avatar Volen99 3 Точки

Здравей, оператора ти е грешен. Трябва да е  == вместо != , тъй като "!=" означава "Не е равно на", а "==" означава "Равно на."

Поздрави,

Chessmaster

0
28/05/2018 21:20:04
Ivailo_Stanchev avatar Ivailo_Stanchev 1 Точки

Здравей,

промених го но като вкарам грешна парола ми изписва Welcome при вярна пак така изписва, нещо съм пропуснал да направя трябва при грешна да изписва Wrong password  

0
pebodi avatar pebodi 29 Точки

Четеш - $password = intval(readline());, просто го направи $password = readline(); - и това е.

По твоя начин данните се парсват към целочислено число, а ти търсиш стринг.

<?php

$pass = readline();
if ($pass == "s3cr3t!P@ssw0rd") { 
    echo "Welcome";
}
else {
    echo "Wrong password!";
}

0
dimaldim92 avatar dimaldim92 149 Точки

Също така имаш грешка при проверката if else:

 

if ($password != "s3cr3t!P@ssw0rd"){
    echo "Welcome";
}

 

Оператора трябва да е equal (==), ако искаш да изкара "Welcome", както е по условието.

0