Pues ahí ya no te puedo ayudar mucho porque no se de dónde salen los números que pones ni si los mismos son correctos... te toca depurar el código y comparar los resultados con los que calcules tu con papel y lapiz.
Sin embargo hay una cosa que me ha llamado la atención:
Código C++:
Ver originaldescuentoTotal = 500+a*0.0983;
igss = 500+a*0.0483;
liquido = 500-descuentoTotal;
si liquido = 500 - descuento = 500 - 500 - a*0.0983 = -a*0.0983. Es decir, si recoloco los cálculos:
Código C++:
Ver originalliquido = -a*0.0983;
descuentoTotal = 500-liquido;
No soy muy amigo de los cálculos innecesarios ya que pueden ofuscar el origen del problema. En este caso sumar 500 para anular lo sumado anteriormente, para mi, sobra.
Por otro lado, estás aplicando dos coeficientes diferentes en descuentoTotal (0.0983) e igss (0.0483), imagino que no es un error porque si no ambas variables obtendrían el mismo resultado.
Un saludo