Foros del Web » Programación para mayores de 30 ;) » C/C++ »

donde esta el error en este programa?

Estas en el tema de donde esta el error en este programa? en el foro de C/C++ en Foros del Web. el programa dice que dada la cantidad en litros de los compuestos x,y,z hacer un programa que de la cantidad del compuesto d que resulta ...
  #1 (permalink)  
Antiguo 13/09/2012, 15:27
 
Fecha de Ingreso: septiembre-2012
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
donde esta el error en este programa?

el programa dice que dada la cantidad en litros de los compuestos x,y,z hacer un programa que de la cantidad del compuesto d que resulta de combinar estos compuestos mi porgrama es este.
#include <cstdlib>
#include <iostream>

using namespace std;

double compuesto_D1(double x, double y, double z, double q, double r){
double p;
p=x+y+z;
return p;}
double compuesto_D2(double x, double y){
double q;
q=x+y;
return q;
}
double compuesto_D3(double y, double z)
double r;
r=y+z
return r;
}
double compuesto_D4(double x, double z){
double t;
t=x+z;
return t;
}
int main()
{
double a;
double b;
double c;
cout<<"introdusca litros de A\n";
cin>>a;
cout<<"introdusca litros de b\n";
cin>>b;
cout<<"introdusca litros de A\n";
cin>>c;
if a=0
{
double litros_de_d;
litros_de_d=compuesto_D(double x, double y);
else{
if b=0
double litros_de_d;
litros_de_d=double compuesto_D3(double y, double z);
else{
if c=0
litros_de_d=double compuesto_D4(double x, double z){

;
cout<<"la cantidad litros del compuesto D son\n";
cout<<litros_de_d;

system("PAUSE");
return EXIT_SUCCESS;
}
intente compilarlo en dev c++
no logro compilarlo me sale un error en la linea 16 pero no se que puedo hacer :S.

Última edición por sonrasiel; 13/09/2012 a las 15:43
  #2 (permalink)  
Antiguo 13/09/2012, 15:53
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: donde esta el error en este programa?

Cita:
double compuesto_D3(double y, double z)
double r;
r=y+z
return r;
}
falta abrir la llave. Para la proxima usa la etiqueta Highlight para postiar codigo y pone el error q te marca el compilador

Saludos
  #3 (permalink)  
Antiguo 15/09/2012, 07:05
 
Fecha de Ingreso: septiembre-2012
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: donde esta el error en este programa?

Cita:
Iniciado por cesar_casla Ver Mensaje
falta abrir la llave. Para la proxima usa la etiqueta Highlight para postiar codigo y pone el error q te marca el compilador

Saludos
vale gracias la etiqueta ya esta puesta, aunque aun no logro correr el programa .

ahora tengo errores en las lineas 40,46, 55 59.
Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. double compuesto_D1(double x, double y, double z, double q, double r){
  7.         double p;
  8.        p=x+y+z;
  9.        return p;}
  10. double compuesto_D2(double x, double y){
  11.        double q;
  12.        q=x+y;
  13.        return q;
  14.        }
  15. double compuesto_D3(double y, double z){
  16.  
  17.        double r;
  18.        r=y+z;
  19.        return r;
  20.        }
  21. double compuesto_D4(double x, double z){
  22.        double t;
  23.        t=x+z;
  24.        return t;
  25.        }
  26.        int main()
  27. {
  28.        double a;
  29.        double b;
  30.        double c;
  31.     cout<<"introdusca litros de A\n";
  32.     cin>>a;
  33.     cout<<"introdusca litros de b\n";
  34.     cin>>b;
  35.     cout<<"introdusca litros de A\n";
  36.     cin>>c;
  37.     if (a=0)
  38.     {
  39.           double litros_de_d;
  40.  litros_de_d= double compuesto_D2(double x, double y);
  41. }
  42.     else{
  43.          if (b=0){
  44.          
  45.          double litros_de_d;
  46.     litros_de_d=double compuesto_D3(double y, double z);}
  47.     else{
  48.          if (c=0){
  49.          
  50.          litros_de_d=double compuesto_D4(double x, double z)
  51.         }}
  52.    
  53.     ;
  54.     cout<<"la cantidad litros del compuesto D son\n";
  55.     cout<<litros_de_d;
  56.  
  57.     system("PAUSE");
  58.     return EXIT_SUCCESS;
  59. }
registro de error


litros de agua.cpp In function 'int main()':
40 17 litros de agua.cpp [Error] expected primary-expression before 'double'
40 17 litros de agua.cpp [Error] expected ';' before 'double'
46 17litros de agua.cpp [Error] expected primary-expression before 'double'
46 17 litros de agua.cpp [Error] expected ';' before 'double'
50 10 litros de agua.cpp [Error] 'litros_de_d' was not declared in this scope
50 22 litros de agua.cpp [Error] expected primary-expression before 'double'
50 22 litros de agua.cpp [Error] expected ';' before 'double'
55 11 litros de agua.cpp [Error] 'litros_de_d' was not declared in this scope
59 1 litros de agua.cpp [Error] expected '}' at end of input
  #4 (permalink)  
Antiguo 15/09/2012, 08:54
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: donde esta el error en este programa?

Hola sonrasiel.

A golpe de ojo, es errónea la asignacion de la línea 40:
Código C++:
Ver original
  1. litros_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:
Código C++:
Ver original
  1. litros_de_d = compuesto_D2(a, b);
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 original
  1. double compuesto_D1(double x, double y, double z, double q, double r) {
  2.   return x+y+z;
  3. }

Por otro lado, creo que el código podría simplificarse, un ejemplo:
Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void ShowComposite(float,float,float);
  6.  
  7. void main() {
  8.   float a,b,c;
  9.  
  10.   cout << "introduzca litros de A: ";
  11.   cin >> a;
  12.   cout << endl << "introduzca litros de B: ";
  13.   cin >> b;
  14.   cout << endl << "introduzca litros de C: ";
  15.   cin >> c;
  16.   ShowComposite(a,b,c);
  17. }
  18.  
  19. void ShowComposite(float a, float b, float c) {
  20.   float tot = a+b+c;
  21.   cout << endl;
  22.   cout << "Compuesto resultante: " << tot << " litros" << endl;
  23.   cout.precision(2);
  24.   cout << fixed;
  25.   cout << "Proporcion de A: " << a / tot * 100 << "%" << endl;
  26.   cout << "Proporcion de B: " << b / tot * 100 << "%" << endl;
  27.   cout << "Proporcion de C: " << c / tot * 100 << "%" << endl;
  28.   while(cin.get()!='\n');
  29.   cin.get();
  30. }

Saludos.
  #5 (permalink)  
Antiguo 17/09/2012, 06:55
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 11 años, 11 meses
Puntos: 28
Respuesta: donde esta el error en este programa?

#include <cstdlib>
#include <iostream>

using namespace std;

double compuesto_D1(double x, double y, double z, double q, double r){
double p;
p=x+y+z;
return p;}
double compuesto_D2(double x, double y){
double q;
q=x+y;
return q;
}
double compuesto_D3(double y, double z){
double r;
r=y+z;
return r;
}
double compuesto_D4(double x, double z){
double t;
t=x+z;
return t;
}
int main()
{
double litros_de_d;
double a;
double b;
double c;
cout<<"introdusca litros de A\n";
cin>>a;
cout<<"introdusca litros de b\n";
cin>>b;
cout<<"introdusca litros de A\n";
cin>>c;
if (a==0)
{
litros_de_d = compuesto_D4( 5, 6);
}
else{
if (b==0)
{
litros_de_d= compuesto_D3( 8, 5);
}
else{
if (c==0)
{

litros_de_d =compuesto_D4( 2, 5);
}
}

cout<<"la cantidad litros del compuesto D son\n";
cout<<litros_de_d;

system("PAUSE");
}
}

Etiquetas: compilar, int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:03.