Aktywne Wpisy
Villeman +45
Kitka wróciła z podwórza przedwczoraj wlokąc się praktycznie na tylnych łapach. Myślę sobię - przetrącony kręgosłup. W domu jednak widzę, że daje rade z biedą chodzić, jednak ogon jak martwy, ani rusz. Coś z nim nie tak? Może coś innego? Późna pora, brak otwartego gabinetu weterynarza, nic nie zrobię. Staram się pomóc jak tylko się da, widzę że cierpi, na noc ustawiam budzik co dwie godziny, aby sprawdzić, czy jest okej i
badreligion66 +120
Dodaje ona gracza ale najpierw sprawdza czy login jest zajęty. Tylko nie działa ona tak jak chcę.
Podczas debagowania jeśli podany login już istnieje to ładnie wskakuje do if'a ale po wyświetleniu "Wybrany login jest zajęty" zawsze od razu przeskakuje do ostatniej linii czyli return true. Dlaczego tak się dzieje i nie chce wykonać return false.
#programowanie #cpp #naukaprogramowania
W mainie wygląda to to tak
if(add_player(player_vector)) {...}
teraz przy debagowaniu na liście zmiennych widzę, żeadd_player
zwraca dobrze true/false w zależności od tego jaki login podam. Tylko ten if z maina zawsze wpuszcza do środka bez różnicy czyadd_player()
zwróci true/false. Jakieś rozwiązania?if
zmaina
?add_player
to cała ta funkcja, którą podałeś. Nie ma tu żadnego maina.Nie mam pojęcia po co ale masz 2 razy getline dla standardowego strumienia:
http://ideone.com/zv6M2D
Usuń 1 (jak w kodzie) i będzie działać, generalnie w przypadku używania getline trzeba sie coś bawić z czyszczeniem strumienia, ale w cpp pisałem chyba z pięć lat temu ;)
chodzi o pierwsze wywołanie
add_player
w mainie. Dlaczego zawsze ten if wpuszcza do środka bez znaczenia czy zwraca true/falseMasz tam 2 razy wywołanie getline(cin, name), pewnie zostaje tam enter z poprzedniego odczytu, trzeba by czyścić strumień po każdym odczycie:
http://www.cplusplus.com/reference/istream/istream/getline/
A tutaj przykład że komuś też przeskakuje dla 2 wywołań getline'a
http://www.cplusplus.com/forum/beginner/111268/
Sprawdź wersję którą przesłałem, ma wykomentowany 1 getline. Bez tego wywoływany jest kod za ifem.
if(addPlayer) {} ;
player.save() ;
counter ++ ;