Przyjrzyj się temu fragmentowi kodu:
if (strzal==liczba)
cout << "Trafiles!" << endl;
else if (strzal>liczba)
cout << "To za duzo!" << endl;
else if (strzal<liczba)
cout << "To za malo!" << endl;
else if (zycia==0)
cout << "Przegrales ! " << endl;
Ostatnia instrukcja if nigdy się nie wykona, bo któraś ze wcześniejszych instrukcji zawsze musi się wykonać (bo sprawdzasz w nich wszystkie trzy opcje: strzał jest mniejszy, większy lub równy od zgadywanej liczby - któraś z tych opcji zawsze jest prawdziwa). Pomyśl w jaki sposób wstawić odpowiednio ifa ze sprawdzaniem życia, żeby miał on szansę się wykonać. I przydałoby się wyjść z pętli, jeżeli ten if zostanie spełniony - zastosuj instrukcję break.