Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 12 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Mié Abr 06, 2011 3:31 am 
Arriba  
Estoy haciendo este programa pero me manda 3 errores de sintaxis, quiero ver porque, lo que tiene que hacer el programa es apartir de el numero que se de en "a" convertir ese valor en euros, dolares y rublos, me ayudarian mucho si me explican detalladamente
#include <iostream>
#include <math>
#include <conio>
class convertir{
private:
float dolar;
float euro;
float rublo;
float *cant;
public:
convertir();
convertir(float dolar, float euro, float rublo);
~convertir();
leee_pesos(float a);
void conv_dolar(float cant);
void conv_euro(float cant);
void conv_rublo(float cant);
}dinero;
convertir::convertir(){}

convertir::convertir(float dolar, float euro, float rublo)
{
dolar=euro=rublo=0;
}
convertir::leee_pesos(float a)
{

}
convertir::~convertir()
{ cout<<"Finaliza el programa";
}
void convertir::conv_dolar(float cant)
{
dolar=cant * 13;
}
void convertir::conv_euro(float cant)
{
euro=cant * 18;
}
void convertir::conv_rublo(float a)
{
rublo=a * 3;
cout<<"el peso en rublos es "<<rublo;
}


void main(void)
{
float a,b,c,d;
cout<<"Introdusca la cantidad en pesos";
cin>>a;
dinero.leee_pesos(a);
b=dinero.conv_dolar(float dolar);
c=dinero.conv_euro(float euro);
d=dinero.conv_rublo(float rublo);
cout<<"EL cambio de moneda en Dolar"<<b
<<" euro"<<c
<<" rublo"<<d;
}

:mrgreen: Espero que me ayuden

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Mié Abr 06, 2011 4:08 am 
Arriba  
1) ¿Y cual es es el error que te da?¿Que dice exactamente? copia y pega la salida del compilador.
2) Coloca el código usando la etiqueta code porque así no se lee nada.

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Mié Abr 06, 2011 4:35 am 
Arriba  
hipersayan_x escribió:
1) ¿Y cual es es el error que te da?¿Que dice exactamente? copia y pega la salida del compilador.
2) Coloca el código usando la etiqueta code porque así no se lee nada.

Código:
#include <iostream>
#include <math>
#include <conio>
class convertir{
     private:
    float dolar;
    float euro;
    float rublo;
    float *cant;
     public:
     convertir();
     convertir(float dolar, float euro, float rublo);
     ~convertir();
     leee_pesos(float a);
     void conv_dolar(float dolar , float cant);
     void conv_euro(float cant, float euro);
     void conv_rublo(float cant, float rublo);
}dinero;
convertir::convertir(){}

 convertir::convertir(float dolar, float euro, float rublo)
{
 dolar=euro=rublo=0;
}
convertir::leee_pesos(float a)
{
 cant=&a;
}
convertir::~convertir()
 { cout<<"Finaliza el programa";
 }
void convertir::conv_dolar(float cant)
{
 dolar=cant * 13;
}
void convertir::conv_euro(float cant, float euro)
{
 euro=cant * 18;
}
void convertir::conv_rublo(float cant, float rublo)
{
rublo=cant * 3;
}


void main(void)
{
float a,b,c,d;
cout<<"Introdusca la cantidad en pesos";
cin>>a;
dinero.leee_pesos(a);
b=dinero.conv_dolar(float dolar);
c=dinero.conv_euro(float euro);
d=dinero.conv_rublo(float dolar);
cout<<"EL cambio de moneda en Dolar"<<b
    <<"                        euro"<<c
    <<"                       rublo"<<d;
}

expresion de sintaxis en las ultimas lineas donde esta "b,c y d"

Editado -- Mar Abr 05, 2011 8:35 pm --

perdon mas espesifico es en estas 3 lineas
b=dinero.conv_dolar(float dolar);
c=dinero.conv_euro(float euro);
d=dinero.conv_rublo(float dolar);

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Mié Abr 06, 2011 6:24 am 
Arriba  
Así es lo correcto:

Código:
b=dinero.conv_dolar(dolar);
c=dinero.conv_euro(euro);
d=dinero.conv_rublo(dolar);

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Jue Abr 07, 2011 1:28 am 
Arriba  
waaaa, me manda que esta que esta indefinido el simbolo dolar euro y rublo en los mismos renglones

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Jue Abr 07, 2011 1:48 am 
Arriba  
Y si, obvio, tenes que declarar esas variables al principio de main o antes de usarlas y asignarles un valor.

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Jue Abr 07, 2011 1:58 am 
Arriba  
pero ya estan declaradas, en la clase convertir, y son privadas

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Jue Abr 07, 2011 2:08 am 
Arriba  
Las variables son locales al bloque a menos que se las declare como globales.
Las propiedades dolar, euro y rublo de la clase convertir son locales a la clase convertir, y son distintas de las variables dolar, euro y rublo de la función main y son locales a dicha función.

https://secure.wikimedia.org/wikibooks/ ... _una_clase

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Vie Abr 08, 2011 11:10 pm 
Arriba  
eso si lo entendi, pero entonces como le haria para que llamen los datos que se sustituieron en las funciones conv dolar, conv euro, conv rublo, y que los pongan en main

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Vie Abr 27, 2007 7:00 am
Mensajes: 1905

Nota Publicado: Sab Abr 09, 2011 1:31 am 
Arriba  
El creador del C++ de debe estar agarrando la cabeza, leyendo detenidamente tu código, todo el código esta mal diseñado.
Por ejemplo, esta es tu implementación de conv_rublo:

Código:
d = dinero.conv_rublo(float dolar);


Y esta es su definición:

Código:
void convertir::conv_rublo(float cant, float rublo)
{
rublo=cant * 3;
}


Cuando debería ser:

Código:
d = dinero.conv_rublo(dolar);


Y así su definición:

Código:
float convertir::conv_rublo(float dolar)
{
    return dolar * 3;
}


Se que mi respuesta puede parecer hostil, no es mi intención, pero es que son muy notorios los errores de concepto.
Aquí dejo un muy buen manual de C++:

http://mat21.etsii.upm.es/ayudainf/apre ... ualcpp.pdf

Editado -- Vie Abr 08, 2011 8:31 pm --

Y ya que estamos, a lo de arriba se le llama pasar variables por valor, también se pueden pasar valores por referencia, muy poco practico para este caso pero posible.
Implementación:

Código:
dinero.conv_rublo(dolar, &rublo);


Y así su definición:

Código:
float convertir::conv_rublo(float dolar, float *rublo)
{
    *rublo = dolar * 3;
}


No es lo correcto, pero se parece mas a lo que quisiste hacer.
Luego haciendo:

Código:
cout << rublo;


Ya sea por valor o por referencia ambos devuelven el mismo valor de la conversión :)

_________________
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 06, 2011 3:13 am
Mensajes: 15

Nota Publicado: Jue Abr 14, 2011 1:41 am 
Arriba  
Código:
#include <iostream>
#include <math>
#include <conio>
class convertir{
     private:
    float dolar;
    float euro;
    float rublo;
    float *cant;
     public:
     convertir();
     convertir(float dolar, float euro, float rublo);
     ~convertir();
     leee_pesos(float a);
     conv_dolar(float);
     conv_euro(float);
      conv_rublo(float);
}dinero;
convertir::convertir(){}

 convertir::convertir(float dolar, float euro, float rublo)
{
 dolar=euro=rublo=0;
}
convertir::leee_pesos(float a)
{
 dolar =euro=rublo=a;

}
convertir::~convertir()
 { cout<<"Finaliza el programa";
 }
convertir::conv_dolar(float dolar)
{
 return (dolar * 13);
}
convertir::conv_euro(float euro)
{
 return (euro * 18);
}
convertir::conv_rublo(float rublo)
{
return (rublo* 3);
}


void main()
{
 float dolar, euro, rublo;
 float a,b,c,d;
cout<<"Introdusca la cantidad en pesos";
cin>>a;
dinero.leee_pesos(a);
b=dinero.conv_dolar(dolar);
c=dinero.conv_euro(euro);
d=dinero.conv_rublo(rublo);
cout <<b
     <<c
     <<d;
getch();
}

ya lo cambie pero a la hora de introducir el valor de pesos y que haga las operaciones me da 000, pero antes me dice que el programa no es seguro de abrir.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Mié May 18, 2011 6:21 pm
Mensajes: 11
Ubicación: Santiago de Chile

Nota Publicado: Mié May 18, 2011 11:16 pm 
Arriba  
esta excelente el manual XD
ya conocía estos manuales de aprenda como si estuviera en primero, pero nunca había visto un de C++

_________________
"Lo que creamos o lo que pensemos no tiene mayor importancia si no hacemos algo al respecto"

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 12 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Ayuda con diagrama de clases

en Proyectos

DiTeN

0

975

Mar Jul 07, 2009 7:06 am

DiTeN Ver último mensaje

Lenguaje D Ayuda

en Programación

x066

1

586

Sab May 01, 2010 6:33 pm

Web-on Ver último mensaje

Ayuda con programa: Estructuras (Lenguaje c) (SOLUCIONADO)

en Programación

franco_94

4

853

Vie Abr 01, 2011 1:43 am

mcun Ver último mensaje

Matrices y clases en Java

en Programación

larq005

7

3965

Mié Ago 05, 2009 6:00 pm

akodo Ver último mensaje

Clases Python en PyQGIS

en Programación

cerenkov

0

566

Lun Ago 04, 2014 6:28 pm

cerenkov Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO