Programación General > C/C++
array de objetos (S.O.S)
camaradakoba:
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
m0skit0:
¿Cuál es el problema, en qué línea, qué error te da o qué resultado incorrecto te da, etc...?
camaradakoba:
listo camarada ya modifique el primer post y anote el error que da al compilar, si alguien pudiese ayudarnos se lo agradeceria
Eternal Idol:
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.
camaradakoba:
camarada gracias, pero eun tengo un problemita, en el primer post lo explico, en verdad agradeceria cualquier ayuda
Navegación
[#] Página Siguiente
Ir a la versión completa