Problem in shell script

hi...i create a script which reads data from file and compare that the data which is entered by me through keyboard...i can easily read first two contents of file..i am facing the problem to read other contents..
structure of my file is
username:password:username1:password1.......and so on

script is..

echo -n "Username "
stty -echo
read username
stty echo
echo ""         # force a carriage return to be output
echo You entered $username
correct = "$( cat /root/file cut -d: f1)"
if [ $username = $correct ] ; then 
echo -e "username is correct"
else 
echo -e "username is wrong"
fi
echo -n "Password: "
stty -echo
read password
stty echo
echo ""         # force a carriage return to be output
echo You entered $password
correct = "$( cat /root/file cut -d: f2)"
if [ $password = $correct ] ; then 
echo -e "passsword is correct"
else 
echo -e "password is wrong"
fi

output is:

username is coorect
password is correct..

problem is

  1. how to use && operator to combine these two condition..i use [[condition 1 && condition2]] but is dose not work..

2.how to other inputs rom file and compare the keyboard input..
i used cut -d: f1,3 but it creats problem..
please help me to solve this problem...

For your reference with or and and condition.

if [ $a == 5 ] || ( [ $a == 4 ] && [ $b == 5 ] )

if [ "$a" == 5  -o "$a" == 4 -a "$b" == 5 ]

if [ "$a" -eq "5" ] || [ "$a" -eq "4" -a "$b" -eq "5" ]

if (( $a == 5 || ( $a == 4 && $b == 5 ) ))