pelo que vi você ta comparando d*e com g e b*c com d ou seja d e g não tem valor. ou seja é null, então g sempre vai ficar menor que f então sempre entra na primeira opção. o certo seria g = d*e, d =b*c.
IDE: DevC++ Erro na linha 100 : In function 'std::ostream& operator<<(std::ostream&, const Lobby&)':[Error] cannot convert 'std::string {aka std::basic_string<char>}'to 'Player*' in assignment http://pastebin.com/a7y7zQBT