Programación General > C/C++

 array de objetos (S.O.S)

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa