Jeśli dobrze widziałem w jednym z twoich komentarzy, to używasz czegoś takiego:
x = (wzrost - 100) * 0,85;
Pamiętaj, że w C++ (jak i w wielu innych językach programowania) do wyrażania liczb zmiennoprzecinkowych używamy kropki, a nie przecinka. Wystarczy więc zmienić 0,85 na 0.85 i wszystko powinno działać :)
Twoje wyrażenie jest interpretowane w taki sposób, że najpierw wyliczana jest wartość x = (wzrost - 100) * 0 (przecinek jest operatorem który służy min do "rozdzielania operacji"). Mnożenie przez zero, daje nam wartość zero, a więc dlatego otrzymywałeś 0 jako tą idealną wagę.
Następnie do kodu jest wstawiane 85 - które nic nie robi :)
Innymi słowy
x = ((wzrost - 100) * 0,85); //Nawiasy są konieczne, gdyż operator , ma większy priorytet niż operator =
to to samo co:
x = (wzrost - 100) * 0;
85; //Ta linia tak na prawdę nic nie robi, ale jest możliwa do skompilowania.