Hola sonrasiel.
A golpe de ojo, es errónea la asignacion de la línea 40:
Código C++:
Ver originallitros_de_d = double compuesto_D2(double x, double y);
Estas reproduciendo la declaración de la cabecera de la función y lógicamene no funciona, lo mismo sucede en las líneas 46 y 50.
Debería haber sido algo como:
No miré en profundidad pero también pareciera que te faltó cerrar alguna llave.
Hay otros detalles que si bién no son errores pueden mejorarse:
La variable litros_de_d, podrías declararla una sola vez.
Las funciones compuesto_D2,D3 y D4 podrían retornar el valor directamente ahorrando una variable, por ejemplo:
Código C++:
Ver originaldouble compuesto_D1(double x, double y, double z, double q, double r) {
return x+y+z;
}
Por otro lado, creo que el código podría simplificarse, un ejemplo:
Código C++:
Ver original#include <iostream>
using namespace std;
void ShowComposite(float,float,float);
void main() {
float a,b,c;
cout << "introduzca litros de A: ";
cin >> a;
cout << endl << "introduzca litros de B: ";
cin >> b;
cout << endl << "introduzca litros de C: ";
cin >> c;
ShowComposite(a,b,c);
}
void ShowComposite(float a, float b, float c) {
float tot = a+b+c;
cout << endl;
cout << "Compuesto resultante: " << tot << " litros" << endl;
cout.precision(2);
cout << fixed;
cout << "Proporcion de A: " << a / tot * 100 << "%" << endl;
cout << "Proporcion de B: " << b / tot * 100 << "%" << endl;
cout << "Proporcion de C: " << c / tot * 100 << "%" << endl;
while(cin.get()!='\n');
cin.get();
}
Saludos.