Revisa tu manual de c++ - iomanip:
Código:
cout << fixed;
cout << "KPL en este abastecimiento: " << setprecision(6) << kpla << endl;
cout << "Total KPL: " << setprecision(6) << kpl << endl;
cout << "\n";
El flag fixed tiene que estar antes de la salida, si no como esperas que formatee el dato una vez enviado a pantalla? En tu caso lo tienes despues de mostrar 'kpla', por eso para el 'kpla' formatea a 6 valores (2 enteros mas 4 decimales) y 'kpl' formatea a 6 decimales
Saludos
vosk