• Domingo 15 de Diciembre de 2024, 08:38

Autor Tema:  Necesito que me ayuden con este codigo[SOLUCIONADO]  (Leído 1254 veces)

hellgeminis

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Necesito que me ayuden con este codigo[SOLUCIONADO]
« en: Sábado 14 de Agosto de 2010, 01:59 »
0
# include<iostream.h>
# include<string.h>
# include<conio.h>


class color{
   char color1[20];
   char color2[20];
   char color3[20];
   public:
   color(char[], char[], char[]);
   void colores(void);
};
//cuerpos de las funcion color
color::color(char c1[20]="", char c2[20]="", char c3[20]=""){
   strcpy(color1, c1);
   strcpy(color2, c2);
   strcpy(color3, c3);
}
class casa{
   float precio;
   int nopuertas;
   char direccion[30];
   color colores;//objeto contenido
   public:
   casa(float, int, char[], color);
   void verdatos(void);
};
//cuerpo de la funcion casa
casa::casa(float p, int np, char dir[]="", color colorin =("blanco", "blanco", "blanco")):precio(p), nopuertas(np), colores(colorin){
   strcpy(direccion, dir);
}
//cuerpo funcion verDatos
void casa::verdatos(void){
   cout<<"nDatos de la Casa n";
   cout<<"nPrecio: "<<precio;
   cout<<"nPuertas: "<<nopuertas;
   cout<<"nDireccion: "<<direccion;
   cout<<"nColores de la Casan: ";
   colores; //Invocamos la funcion colores
}
//funcion principal
main(){
   //objeto casa
   casa casa1(20000, 4, "Los Robles", color("Azul", "crema", "negro"));
   casa1.verdatos();
   return 0;
}

Lo que necesito hacer es imprimir los datos de la casa pero con sus colores, solo me imprime los datos de la casa, pero no me imprime los colores, nose que estoy haciendo mal.
« última modificación: Miércoles 18 de Agosto de 2010, 23:39 por hellgeminis »

Mikan

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Necesito que me ayuden con este codigo
« Respuesta #1 en: Sábado 14 de Agosto de 2010, 14:12 »
0
Hola,

la función void colores(void) no está definida? Deberia ser algo como:

cout << color1 << "t" << color2 << "t" << color3 << "n";

hellgeminis

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Necesito que me ayuden con este codigo
« Respuesta #2 en: Miércoles 18 de Agosto de 2010, 18:40 »
0
Gracias por responder.

ok. declaro la funcion asi en la Class color:

class color{
   char color1[20];
   char color2[20];
   char color3[20];
   public:
   color(char[], char[], char[]);
   void colores(void){
   cout << color1 << "t" << color2 << "t" << color3 << "n";
   }
};

pero sigue sin mostrar los colores al ejecutarlo.

Mikan

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Necesito que me ayuden con este codigo
« Respuesta #3 en: Miércoles 18 de Agosto de 2010, 19:30 »
0
Igual lo que te digo es muy obvio pero nunca se sabe... :)
En el código inicial llamabas la función colores así:

colores;

Esto realmente no es una llamada a la función colores, si no a tu objecto que también se llama colores. Debería ser:

colores.colores();

El método con el que muestras los colores, tal vez estaría mejor con otro nombre, es un poco confuso que tu objeto y el método de mostrar los colores se llamen igual. Es bastante frecuente usar verbo + nombre, por ejemplo mostrarColores() sería un bonito nombre para este método.


Suerte!

hellgeminis

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Necesito que me ayuden con este codigo
« Respuesta #4 en: Miércoles 18 de Agosto de 2010, 21:37 »
0
ok. muchas gracias.

Es así como dices, le cambiare el nombre para que sea mas fácil de reconocer.

funciona todo bien.