• Sábado 14 de Diciembre de 2024, 09:30

Autor Tema:  Ayuda C++  (Leído 4546 veces)

antonioraer

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Ayuda C++
« en: Viernes 8 de Septiembre de 2006, 20:51 »
0
Tengo que crear un programa en c++, y necesito crear dos clases, una llamado jugador, con el nombre, edad... y otra equipo.
Tengo que crear varios equipos, e introducir en ellos a los jugadores q tb creare, esto se puede crear al iniciar el programa, o si se quiere introducirlo a mano.
Si alguien me pudiera ayudar se lo agradeceria muchisimo!
LLevo un monton de dias pero no me sale

Max_D

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
    • http://sitioteca.spaces.live.com/
Re: Ayuda C++
« Respuesta #1 en: Viernes 8 de Septiembre de 2006, 21:19 »
0
Digamos que tienes las clases:
Código: Text
  1. class Jugador {
  2.    private:
  3.           char nombre[50];
  4.           int edad;
  5.           char demarcacion[30];
  6.    public:
  7.           Jugador();
  8.           Jugador(char *, int, char *);
  9.           char * GetNombre();
  10.           int GetEdad();
  11.           char *GetDemarcacion();
  12.           void SetNombre(char *);
  13.           void SetEdad(int);
  14.           void SetDemarcacion(char *);
  15. }
  16.  
  17. class Equipo  {
  18.    private:
  19.           Jugador plantilla[25];
  20.           int nplazas;
  21.           char nombre[30];
  22.           int fundacion;
  23.    public:
  24.           Equipo();
  25.           Equipo(char *);
  26.           void AddJugador(Jugador);
  27.           Jugador GetJugador(int);
  28.           void DeleteJugador(int);
  29.           int GetNPlazas();
  30. }
  31.  


Esta es una de las muchas posibilidades para definir las clases Jugador y Equipo, las implementaciones faltan, solo es para darte una idea de por donde puedes ir. Espero que continues  :comp:

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #2 en: Viernes 8 de Septiembre de 2006, 21:40 »
0
Si, lo podes cargar de un archivo por ejemplo, tenes que usar memoria dinamica para ir creando los objetos pertinentes. Y no te olvides de los destructores que no figuran por alla arriba, de paso usa memoria dinamica para los datos de tamaño dinamico como las cadenas.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

antonioraer

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Ayuda C++
« Respuesta #3 en: Viernes 8 de Septiembre de 2006, 22:02 »
0
muchas gracias x contestarme, y ademas tan rapido.
No voy a coger los equipos y los jugadores de un archivo, simplemente creare unos cuantos al iniciar el programa desde el main supongo.
creia que la clase equipo tendria que ser amiga de la clase jugador, y me he hecho un lio tremendo.
Ahora voy a ver como puedo seguir, muchisimas gracias por la ayuda!!!

Max_D

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
    • http://sitioteca.spaces.live.com/
Re: Ayuda C++
« Respuesta #4 en: Viernes 8 de Septiembre de 2006, 22:10 »
0
El uso de memoria dinamica no lo incluí porque solo queria dar una idea de las clases, puestos a hacerlo bien podrias utilizar la stl por ejemplo, que aporta mucha eficiencia.  :P

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #5 en: Viernes 8 de Septiembre de 2006, 22:14 »
0
Cita de: "Max_D"
El uso de memoria dinamica no lo incluí porque solo queria dar una idea de las clases, puestos a hacerlo bien podrias utilizar la stl por ejemplo, que aporta mucha eficiencia.  :P
En realidad lo que aporta la STL es facilidad y uniformidad al codigo, la implementacion mas eficiente es siempre la que uno haga especificamente para un problema en particular.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

geobeid

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Re: Ayuda C++
« Respuesta #6 en: Sábado 9 de Septiembre de 2006, 01:27 »
0
no necesitan ser amigas.
por cuestion de proligidad de ultima genera los  GETTERS y SETTER que necesites y chau.
usa un arreglo de jugadores como atributo de equipo.

chau  :comp:
[size=109]
SI QUERES ENCONTRAR A JESÚS GOOGLEALO
[/size]

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Ayuda C++
« Respuesta #7 en: Sábado 9 de Septiembre de 2006, 07:33 »
0
:rolleyes:  :rolleyes:  :rolleyes:


Quiza se les haga tonta la pregunta , pero cual es la diferencia entre usar clases y estructuras????
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #8 en: Sábado 9 de Septiembre de 2006, 08:22 »
0
Cita de: "Bicholey"
:rolleyes:  :rolleyes:  :rolleyes:


Quiza se les haga tonta la pregunta , pero cual es la diferencia entre usar clases y estructuras????
Investiga sobre POO.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ayuda C++
« Respuesta #9 en: Sábado 9 de Septiembre de 2006, 16:05 »
0
Cita de: "Bicholey"
:rolleyes:  :rolleyes:  :rolleyes:


Quiza se les haga tonta la pregunta , pero cual es la diferencia entre usar clases y estructuras????
Una simple las estructuras no puede heredar de otras estructuras.
El pasado son solo recuerdos, el futuro son solo sueños

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #10 en: Sábado 9 de Septiembre de 2006, 16:16 »
0
Cita de: "RadicalEd"
Una simple las estructuras no puede heredar de otras estructuras.
Ojo que eso no es cierto en C++:

Código: Text
  1.  
  2. struct x
  3. {
  4.   int p;
  5. };
  6.  
  7. struct y : x
  8. {
  9.   int t;
  10. };
  11.  
  12.  

y tiene dos campos t y el heredado de x p.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

antonioraer

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Ayuda C++
« Respuesta #11 en: Sábado 9 de Septiembre de 2006, 18:38 »
0
Tengo otra dudilla.
Código: Text
  1.  
  2. class Equipo  {
  3.   private:
  4.          Jugador plantilla[25];
  5.          int nplazas;
  6.          char nombre[30];
  7.          int fundacion;
  8.   public:
  9.          Equipo();
  10.          Equipo(char *);
  11.          void AddJugador(Jugador);
  12.          Jugador GetJugador(int);
  13.          void DeleteJugador(int);
  14.          int GetNPlazas();
  15.  
  16.  
Como podria introducir un jugador en un equipo determinado?
Es decir la funcion AddJugador a que equipo se lo añades.
Si yo quisiera agregar a raul, al numancia como lo podria hacer

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Ayuda C++
« Respuesta #12 en: Sábado 9 de Septiembre de 2006, 18:56 »
0
Raul al Numancia?? eso es imposible jejeje  :lol:

Bueno deberias implementar un metodo AddJugador que tuviera cuidado de no sobreescribir un jugador encima de otro
Tambien habria que ver si quieres añadir jugadores ordenados en el vector de jugadores, es decir que se feuran colocando desde 0 a 25 segun vayas llamando a AddJugador  o desordenados, segun el numero de camiseta y que se insertaran en esa posicion del vector (para esto tendrias que crear un metodos AddJugador con 2 argumentos: el jugador, y el numero de camiseta o  posicion del vector.
Para el primer caso bastaria con recorrer el vector leyendo jugadores hasta que diera null (posicion vacia) e insertar el jugador en esa posicion

El ejemplo que pones de añadir Raul al Numancia seria algo asi.

Código: Text
  1. Equipo numancia=new Equipo(/* argumentos de contruccion*/);
  2. Jugador raul=new Jugador(/* posibles argumentos de construccion*/);
  3. numancia.AddJugador(raul);
  4.  

Basicamente es eso. El manejo de la lista de jugadores ya depende mas de como quieras hacerla

salu2

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #13 en: Sábado 9 de Septiembre de 2006, 19:10 »
0
Que bueno ... Raul al Numancia ... ya se lo merece jaja  :devil: Y de paso que el entrenador sea Luis Aragones  :lol:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

geobeid

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Re: Ayuda C++
« Respuesta #14 en: Sábado 9 de Septiembre de 2006, 21:10 »
0
PERDON SI ME EQUIVOCO ( Y ESTA VES NO TENGASEN CUENTA LA ORTOGRAFIA BICHOLEY JEJEJE) PERO LA DIFERENCIA ENTRE UN STRUCT Y UN OBJECT SON:
  • SI NO SE ESPECIFICAS LO CONTRARIO CUALQUIER COSA QUE PONGAS DENTRO DE UN STRUCT ESTA DENTRO DEL PUBLIC. POR EL CONTRARIO EN EL OBJETO TODO ESTA EN EL MODO PRIVADO A MENOS QUE LO PONGAS DENTRO DEL PUBLIC.</li>
  • DENTRO DE UN STRUCT SOLO PODES DEFINIR ATRIBUTOS DE LA ESTRUCTURAS ( VARIABLES). EN EL OBJETO ADEMAS DE ATRIBUTOS TENES METODOS Y ADEMAS SI ESTAS USANDO C++ Y NO C ( PORQUE TENGO ENTENDIDO QUE C NO LO SOPORTA) PODES SOBRECARGAR CUALQUIER OPERADOR, ETC ETC</li>
BASICAMENTE EL STRUCT NO ES MAS QUE UNA FORMA DE ORDENAR LOS DATOS AGRUPANDOLOS Y EL OBJETO YA ES OTRA COSA MAS COMPLEJA DE ENTENDER.
ES UN CONJUNTO DE ATRIBUTOS Y METODOS :smartass:  :kicking:

POR FAVOR SI ME EQUIBOCO CORRIJANME ( REPITO NO LA PARTE ORTOGRAFICA LOL)
[size=109]
SI QUERES ENCONTRAR A JESÚS GOOGLEALO
[/size]

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #15 en: Sábado 9 de Septiembre de 2006, 21:20 »
0
Cita de: "geobeid"
PERDON SI ME EQUIVOCO ( Y ESTA VES NO TENGASEN CUENTA LA ORTOGRAFIA BICHOLEY JEJEJE) PERO LA DIFERENCIA ENTRE UN STRUCT Y UN OBJECT SON:
    </li>
  • SI NO SE ESPECIFICAS LO CONTRARIO CUALQUIER COSA QUE PONGAS DENTRO DE UN STRUCT ESTA DENTRO DEL PUBLIC. POR EL CONTRARIO EN EL OBJETO TODO ESTA EN EL MODO PRIVADO A MENOS QUE LO PONGAS DENTRO DEL PUBLIC.
    </li>
  • DENTRO DE UN STRUCT SOLO PODES DEFINIR ATRIBUTOS DE LA ESTRUCTURAS ( VARIABLES). EN EL OBJETO ADEMAS DE ATRIBUTOS TENES METODOS Y ADEMAS SI ESTAS USANDO C++ Y NO C ( PORQUE TENGO ENTENDIDO QUE C NO LO SOPORTA) PODES SOBRECARGAR CUALQUIER OPERADOR, ETC ETC
    </li>
BASICAMENTE EL STRUCT NO ES MAS QUE UNA FORMA DE ORDENAR LOS DATOS AGRUPANDOLOS Y EL OBJETO YA ES OTRA COSA MAS COMPLEJA DE ENTENDER.
ES UN CONJUNTO DE ATRIBUTOS Y METODOS :smartass:  :kicking:

POR FAVOR SI ME EQUIBOCO CORRIJANME ( REPITO NO LA PARTE ORTOGRAFICA LOL)

En C++ aplica la primera parte de lo que decis, la segunda no. Y por cierto, la contraposicion es entre estructuras y clases (un objeto es una instancia de una clase).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #16 en: Sábado 9 de Septiembre de 2006, 22:04 »
0
Aca les dejo un ejemplo de codigo valido de C++:

Código: Text
  1.  
  2. #include &#60;windows.h&#62;
  3. #include &#60;stdio.h&#62;
  4.  
  5. struct persona
  6. {
  7.   int Edad;
  8.  
  9.   persona(int edad)
  10.   {
  11.     Edad = edad;
  12.   }
  13.  
  14.   ~persona() { }
  15.  
  16.   void decirEdad()
  17.   {
  18.     printf(&#34;%d&#092;r&#092;n&#34;, Edad);
  19.   }
  20. };
  21.  
  22. void main()
  23. {
  24.   persona juan(17);
  25.   juan.decirEdad();
  26. }
  27.  
  28.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Ayuda C++
« Respuesta #17 en: Domingo 10 de Septiembre de 2006, 10:08 »
0
:P  :P  :P  :P


Ok muchas gracias por refrescar mis recuerdos de C++ porque cuando yo fui ala escuela y vi C++ solo aprendi estructuras jamas vi clases , solo una pregunta màs en C++ las clases pueden usar el polimorfismo  ????
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]



Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Ayuda C++
« Respuesta #19 en: Domingo 10 de Septiembre de 2006, 10:15 »
0
Citar
cuando yo fui ala escuela y vi C++ solo aprendi estructuras jamas vi clases

Eso es para jubilar al profesor de por vida. Es como quitarle al cafe la cafeina

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Ayuda C++
« Respuesta #20 en: Domingo 10 de Septiembre de 2006, 10:17 »
0
:lol:  :lol:  :lol:  :lol:

Teneis mucha razòn, y eso que no conociste ami profe de ASM era malisimo.
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda C++
« Respuesta #21 en: Domingo 10 de Septiembre de 2006, 10:23 »
0
Bueno al menos los tuyos eran 2 malos a mi me pasa lo contrario aqui son 2 a 4 buenos y todos los demas Sucks UNACH = Vasofia :P

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda C++
« Respuesta #22 en: Domingo 10 de Septiembre de 2006, 11:48 »
0
Cita de: "Bicholey"
:P  :P  :P  :P


Ok muchas gracias por refrescar mis recuerdos de C++ porque cuando yo fui ala escuela y vi C++ solo aprendi estructuras jamas vi clases , solo una pregunta màs en C++ las clases pueden usar el polimorfismo  ????
La respuesta a esa y muchas otras preguntas en: Wikipedia

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.