Sábado 14 de Diciembre de 2024, 18:44
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
array de objetos (S.O.S)
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: array de objetos (S.O.S) (Leído 1933 veces)
camaradakoba
Nuevo Miembro
Mensajes: 15
array de objetos (S.O.S)
«
en:
Miércoles 11 de Marzo de 2009, 05:41 »
0
muchas gracias por la ayuda, pero corriendo el riesgo de parecer conchudo me atrevo a solicitarla nuevamente, ahorra meti una funcion pero me sale 1 error
Código: C++
# include <iostream.h>
# include <string.h>
# include <conio.h>
int
j, k
;
int
iniciar_movimiento
(
int
ii,
int
codigoi,
char
nombrei,
long
CUIi,
char
nombrehi,
int
tiempo_vidai,
int
mesi,
int
diai,
int
anioi
)
;
class
fecha
{
public
:
fecha
(
int
mes,
int
dia,
int
anio
)
;
void
mostrar_fecha
(
void
)
;
int
mes
;
int
dia
;
int
anio
;
}
;
class
herramienta
{
public
:
herramienta
(
char
*
nombreh,
int
tiempo_vida
)
;
~herramienta
(
void
)
;
herramienta
(
void
)
;
void
mostrar_herramienta
(
void
)
;
char
nombreh
[
64
]
;
int
tiempo_vida
;
}
;
class
alumno
{
public
:
alumno
(
char
*
nombre,
long
CUI
)
;
~alumno
(
void
)
;
void
mostrar_alumno
(
void
)
;
alumno
(
void
)
;
char
nombre
[
64
]
;
long
CUI
;
}
;
class
movimiento
{
public
:
movimiento
(
int
codigo,
char
*
nombre,
long
CUI,
char
*
nombreh,
int
tiempo_vida,
int
mes,
int
dia,
int
anio
)
;
~movimiento
(
void
)
;
void
mostrar_movimiento
(
void
)
;
movimiento
(
void
)
;
int
codigo
;
alumno
*
alumno_solicitante
;
fecha
*
fecha_movimiento
;
herramienta
*
herramienta_solicitada
;
}
;
fecha
::
fecha
(
int
mes,
int
dia,
int
anio
)
{
fecha
::
mes
=
mes
;
fecha
::
dia
=
dia
;
fecha
::
anio
=
anio
;
}
void
fecha
::
mostrar_fecha
(
void
)
{
cout
<<
mes
<<
"/"
<<
dia
<<
"/"
<<
anio
<<
"n"
;
}
alumno
::
alumno
(
char
*
nombre,
long
CUI
)
{
strcpy
(
alumno
::
nombre
,nombre
)
;
alumno
::
CUI
=
CUI
;
}
alumno
::
alumno
(
void
)
{
}
alumno
::
~alumno
(
void
)
{
}
void
alumno
::
mostrar_alumno
(
void
)
{
cout
<<
"Nombre: "
<<
nombre
<<
"n"
;
cout
<<
"CUI: "
<<
CUI
<<
"n"
;
}
herramienta
::
herramienta
(
char
*
nombreh,
int
tiempo_vida
)
{
strcpy
(
herramienta
::
nombreh
,nombreh
)
;
herramienta
::
tiempo_vida
=
tiempo_vida
;
}
herramienta
::
herramienta
(
void
)
{
}
herramienta
::
~herramienta
(
void
)
{
}
void
herramienta
::
mostrar_herramienta
(
void
)
{
cout
<<
"Nombre: "
<<
nombreh
<<
"n"
;
cout
<<
"Tiempo de vida: "
<<
tiempo_vida
<<
"n"
;
}
movimiento
::
movimiento
(
int
codigo,
char
*
nombre,
long
CUI,
char
*
nombreh,
int
tiempo_vida,
int
mes,
int
dia,
int
anio
)
{
movimiento
::
codigo
=
codigo
;
alumno_solicitante
=
new
alumno
(
nombre, CUI
)
;
herramienta_solicitada
=
new
herramienta
(
nombreh, tiempo_vida
)
;
fecha_movimiento
=
new
fecha
(
mes, dia, anio
)
;
}
movimiento
::
movimiento
(
void
)
{
}
movimiento
::
~movimiento
(
void
)
{
}
void
movimiento
::
mostrar_movimiento
(
void
)
{
cout
<<
"Codigo: "
<<
codigo
<<
"n"
;
alumno_solicitante
-
>
mostrar_alumno
(
)
;
herramienta_solicitada
-
>
mostrar_herramienta
(
)
;
fecha_movimiento
-
>
mostrar_fecha
(
)
;
}
void
main
(
)
{
int
i
;
int
opcion, asiento
;
int
codigotemp, tiempo_vidatemp, mestemp, diatemp, aniotemp
;
char
*
nombretemp,
*
nombrehtemp
;
long
CUItemp
;
do
{
cout
<<
"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Menu ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍnn 1.Ingresar una operacion n 2.Consultar un alumnon 3.Consultar una operacionn 0.Salir nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍnnn"
;
cout
<<
"Elige una opcion: n"
;
cin
>>
opcion
;
i
=
0
;
switch
(
opcion
)
{
int
respuesta
;
case
0
:
break
;
case
1
:
cout
<<
"n Codigo: "
;
cin
>>
codigotemp
;
cout
<<
"n Nombre del alumno: "
;
cin
>>
*
nombretemp
;
cout
<<
"n CUI: "
;
cin
>>
CUItemp
;
cout
<<
"n Nombre de la herramienta: "
;
cin
>>
*
nombrehtemp
;
cout
<<
"n Tiempo de vida: "
;
cin
>>
tiempo_vidatemp
;
cout
<<
"Mes: "
;
cin
>>
mestemp
;
cout
<<
"Dia: "
;
cin
>>
diatemp
;
cout
<<
"Año: "
;
cin
>>
aniotemp
;
i
=
iniciar_movimiento
(
i, codigotemp,
*
nombretemp, CUItemp,
*
nombrehtemp, tiempo_vidatemp, mestemp, diatemp, aniotemp
)
;
i
=
i
+
1
;
break
;
case
2
:
break
;
case
3
:
break
;
default
:
cout
<<
"Seleccione una operacion validan"
;
break
;
}
}
while
(
opcion
!
=
0
)
;
}
movimiento movimientos
[
100
]
;
int
iniciar_movimiento
(
int
ii,
int
codigoi,
char
*
nombrei,
long
CUIi,
char
*
nombrehi,
int
tiempo_vidai,
int
mesi,
int
diai,
int
anioi
)
{
movimiento movimientotemp
(
codigoi,
*
nombrei, CUIi,
*
nombrehi, tiempo_vidai, mesi, diai, anioi
)
;
movimientos
[
ii
]
=
movimientotemp
;
return
(
ii
)
;
}
me sale Error: proyecto1.9.cpp(185,99):Could not find a match for movimiento::movimiento(int,char,long,char,int,int,int,int)'
no se que hacer, en verdad agradeceria cualquier ayuda
Tweet
«
última modificación: Viernes 13 de Marzo de 2009, 00:33 por camaradakoba
»
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: array de objetos (S.O.S)
«
Respuesta #1 en:
Miércoles 11 de Marzo de 2009, 09:55 »
0
¿Cuál es el problema, en qué línea, qué error te da o qué resultado incorrecto te da, etc...?
Fr33k K0mpu73r
camaradakoba
Nuevo Miembro
Mensajes: 15
Re: array de objetos (S.O.S)
«
Respuesta #2 en:
Jueves 12 de Marzo de 2009, 17:36 »
0
listo camarada ya modifique el primer post y anote el error que da al compilar, si alguien pudiese ayudarnos se lo agradeceria
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: array de objetos (S.O.S)
«
Respuesta #3 en:
Jueves 12 de Marzo de 2009, 17:51 »
0
Como dice el error no podes inicializar una variable local en un case, tenes que sacar esto de ahi de alguna manera:
movimiento movimientotemp (codigotemp,nombretemp, CUItemp, nombrehtemp, tiempo_vidatemp, mestemp, diatemp, aniotemp) ;
Por ejemplo podrias ponerlo antes del switch sin parametros y usar una funcion tipo init en donde esta ahora.
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.
camaradakoba
Nuevo Miembro
Mensajes: 15
Re: array de objetos (S.O.S)
«
Respuesta #4 en:
Viernes 13 de Marzo de 2009, 00:36 »
0
camarada gracias, pero eun tengo un problemita, en el primer post lo explico, en verdad agradeceria cualquier ayuda
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: array de objetos (S.O.S)
«
Respuesta #5 en:
Viernes 13 de Marzo de 2009, 08:07 »
0
Mira lo que dice el error:
movimiento::movimiento(int,
char
,long,
char
,int,int,int,int)'
El constructor:
movimiento::movimiento (int codigo,
char *nombre
, long CUI,
char *nombreh
, int tiempo_vida,int mes, int dia, int anio)
Y la linea del problema:
movimiento movimientotemp(codigoi,
*nombrei
, CUIi,
*nombrehi
, tiempo_vidai, mesi, diai, anioi);
Le estas pasando UN caracter y no una cadena de caracteres, tenes que sacar los dos asteriscos (*).
PD. Ahora no sigas modificando el mensaje inicial sino las respuestas anteriores pierden sentido, gracias.
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.
camaradakoba
Nuevo Miembro
Mensajes: 15
Re: array de objetos (S.O.S)
«
Respuesta #6 en:
Viernes 13 de Marzo de 2009, 23:21 »
0
camaradas, un favor arregle el problema que tenia antes y
compilo
, pero cuando quise correrlo me aparecio
Error: Error: Unresolved external 'iniciar_movimiento(int,int,char,long,char,int,int,int,int)' referenced from D:MIS DOCUMENTOSKOBAPROYECTO LP2.0PROYECTO2.0.OBJ
y ahora estoy mas confundido que antes, por favor si alguien pudiese ayudarme con esto, la verdad es que ya no entiendo, garcias
Código: C++
# include <iostream.h>
# include <string.h>
# include <conio.h>
int
j, k
;
int
iniciar_movimiento
(
int
ii,
int
codigoi,
char
nombrei,
long
CUIi,
char
nombrehi,
int
tiempo_vidai,
int
mesi,
int
diai,
int
anioi
)
;
class
fecha
{
public
:
fecha
(
int
mes,
int
dia,
int
anio
)
;
void
mostrar_fecha
(
void
)
;
int
mes
;
int
dia
;
int
anio
;
}
;
class
herramienta
{
public
:
herramienta
(
char
*
nombreh,
int
tiempo_vida
)
;
~herramienta
(
void
)
;
herramienta
(
void
)
;
void
mostrar_herramienta
(
void
)
;
char
nombreh
[
64
]
;
int
tiempo_vida
;
}
;
class
alumno
{
public
:
alumno
(
char
*
nombre,
long
CUI
)
;
~alumno
(
void
)
;
void
mostrar_alumno
(
void
)
;
alumno
(
void
)
;
char
nombre
[
64
]
;
long
CUI
;
}
;
class
movimiento
{
public
:
movimiento
(
int
codigo,
char
*
nombre,
long
CUI,
char
*
nombreh,
int
tiempo_vida,
int
mes,
int
dia,
int
anio
)
;
~movimiento
(
void
)
;
void
mostrar_movimiento
(
void
)
;
movimiento
(
void
)
;
int
codigo
;
alumno
*
alumno_solicitante
;
fecha
*
fecha_movimiento
;
herramienta
*
herramienta_solicitada
;
}
;
fecha
::
fecha
(
int
mes,
int
dia,
int
anio
)
{
fecha
::
mes
=
mes
;
fecha
::
dia
=
dia
;
fecha
::
anio
=
anio
;
}
void
fecha
::
mostrar_fecha
(
void
)
{
cout
<<
mes
<<
"/"
<<
dia
<<
"/"
<<
anio
<<
"n"
;
}
alumno
::
alumno
(
char
*
nombre,
long
CUI
)
{
strcpy
(
alumno
::
nombre
,nombre
)
;
alumno
::
CUI
=
CUI
;
}
alumno
::
alumno
(
void
)
{
}
alumno
::
~alumno
(
void
)
{
}
void
alumno
::
mostrar_alumno
(
void
)
{
cout
<<
"Nombre: "
<<
nombre
<<
"n"
;
cout
<<
"CUI: "
<<
CUI
<<
"n"
;
}
herramienta
::
herramienta
(
char
*
nombreh,
int
tiempo_vida
)
{
strcpy
(
herramienta
::
nombreh
,nombreh
)
;
herramienta
::
tiempo_vida
=
tiempo_vida
;
}
herramienta
::
herramienta
(
void
)
{
}
herramienta
::
~herramienta
(
void
)
{
}
void
herramienta
::
mostrar_herramienta
(
void
)
{
cout
<<
"Nombre: "
<<
nombreh
<<
"n"
;
cout
<<
"Tiempo de vida: "
<<
tiempo_vida
<<
"n"
;
}
movimiento
::
movimiento
(
int
codigo,
char
*
nombre,
long
CUI,
char
*
nombreh,
int
tiempo_vida,
int
mes,
int
dia,
int
anio
)
{
movimiento
::
codigo
=
codigo
;
alumno_solicitante
=
new
alumno
(
nombre, CUI
)
;
herramienta_solicitada
=
new
herramienta
(
nombreh, tiempo_vida
)
;
fecha_movimiento
=
new
fecha
(
mes, dia, anio
)
;
}
movimiento
::
movimiento
(
void
)
{
}
movimiento
::
~movimiento
(
void
)
{
}
void
movimiento
::
mostrar_movimiento
(
void
)
{
cout
<<
"Codigo: "
<<
codigo
<<
"n"
;
alumno_solicitante
-
>
mostrar_alumno
(
)
;
herramienta_solicitada
-
>
mostrar_herramienta
(
)
;
fecha_movimiento
-
>
mostrar_fecha
(
)
;
}
void
main
(
)
{
int
i
;
int
opcion
;
int
codigotemp, tiempo_vidatemp, mestemp, diatemp, aniotemp
;
char
*
nombretemp,
*
nombrehtemp
;
long
CUItemp
;
do
{
cout
<<
"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Menu ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍnn 1.Ingresar una operacion n 2.Consultar un alumnon 3.Consultar una operacionn 0.Salir nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍnnn"
;
cout
<<
"Elige una opcion: n"
;
cin
>>
opcion
;
i
=
0
;
switch
(
opcion
)
{
case
0
:
break
;
case
1
:
cout
<<
"n Codigo: "
;
cin
>>
codigotemp
;
cout
<<
"n Nombre del alumno: "
;
cin
>>
nombretemp
;
cout
<<
"n CUI: "
;
cin
>>
CUItemp
;
cout
<<
"n Nombre de la herramienta: "
;
cin
>>
nombrehtemp
;
cout
<<
"n Tiempo de vida: "
;
cin
>>
tiempo_vidatemp
;
cout
<<
"Mes: "
;
cin
>>
mestemp
;
cout
<<
"Dia: "
;
cin
>>
diatemp
;
cout
<<
"Año: "
;
cin
>>
aniotemp
;
i
=
iniciar_movimiento
(
i, codigotemp,
*
nombretemp, CUItemp,
*
nombrehtemp, tiempo_vidatemp, mestemp, diatemp, aniotemp
)
;
i
=
i
+
1
;
break
;
case
2
:
break
;
case
3
:
break
;
default
:
cout
<<
"Seleccione una operacion validan"
;
break
;
}
}
while
(
opcion
!
=
0
)
;
}
movimiento movimientos
[
100
]
;
int
iniciar_movimiento
(
int
ii,
int
codigoi,
char
*
nombrei,
long
CUIi,
char
*
nombrehi,
int
tiempo_vidai,
int
mesi,
int
diai,
int
anioi
)
{
movimiento movimientotemp
(
codigoi, nombrei, CUIi, nombrehi, tiempo_vidai, mesi, diai, anioi
)
;
movimientos
[
ii
]
=
movimientotemp
;
return
(
ii
)
;
}
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: array de objetos (S.O.S)
«
Respuesta #7 en:
Sábado 14 de Marzo de 2009, 00:57 »
0
Por favor, mira el codigo y hace AL MENOS que coincidan los tipos ... arriba tenes una cosa y despues implementas otra ...
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.
camaradakoba
Nuevo Miembro
Mensajes: 15
Re: array de objetos (S.O.S)
«
Respuesta #8 en:
Sábado 14 de Marzo de 2009, 17:05 »
0
camarada, gracias por la ayuda, se que mis conocimientos en c son menos que mediocres lo que me lleva a hacer barrabasadas en el codigo y se que puedan tener errores que para alguien con un mejor nivel sean obvios, tampoco intento que me resuelban el problema, siendo sinceros seria de la paja pero va contra la idea de foro que yo creo es compartir y aprender, puede que este cayendo pesado pero agradeceria alguien me apoye diciendome dinde me quivoco, en verdad gracias
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: array de objetos (S.O.S)
«
Respuesta #9 en:
Sábado 14 de Marzo de 2009, 17:29 »
0
int iniciar_movimiento (int ii, int codigoi,
char nombrei
, long CUIi,
char nombrehi
, int tiempo_vidai,int mesi, int diai, int anioi);
int iniciar_movimiento (int ii, int codigoi,
char *nombrei
, long CUIi,
char *nombrehi
, int tiempo_vidai,int mesi, int diai, int anioi)
{
movimiento movimientotemp(codigoi, nombrei, CUIi, nombrehi, tiempo_vidai, mesi, diai, anioi);
movimientos[ii]=movimientotemp;
return (ii);
}
Mira lo que esta en negrita, eso tiene que coincidir.
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.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
array de objetos (S.O.S)