[C con Clase] fatal error LNK1136: invalid or corrupt file

wolverine wolverine_ch en hotmail.com
Sab Abr 16 07:23:14 CEST 2011


 Otra solución es usar el puntero 'cab' y así te ahorras crear el puntero 
SD> 'temp'. Para un ejemplo, consulta el ejemplo de C++ del capítulo 1 del 
SD> cusro de "Estructuras Dinámicas de Datos". Puedes iri directamente a: 
SD> http://c.conclase.net/edd/index.php?cap=001g#1_10
SD> Espero que todo esto te ayude.
SD> Steven

hola steven cuanto tiempo bueno pues adaptandolo al ejemplo dela pagina mi destructor quedaria algo asi usando el cab:


	  util* aux;
   
	while(cab!=NULL) {
		aux = cab;
		cab = cab->sgte;
		delete aux;
   }
	ultimo = NULL;

      if(cab==NULL)
	  cout<<"\n        no hay utiles en la lista";
	  else
	  cout<<"\n\n Lista de utiles  borrada.";

     getch();


...bueno al menos ya se soluciono lo del "general protection exception" cuando ingreso la opcion salir, lo unico es que la ventana se queda inactiva y alli se queda bueno eso no me preocupa tanto, lo que pasa esque esta lista forma parte de un programa mas grande al cual envio  a esta lista como parametro a otra  lista de utiles comprados . Esta ultima es una lista que sirve parallevar el registro de los utiles comprados que por cierto ya no es una lista enlazada sino una dinamica empleando un vector


//CLASE QUE REGISTRA LOS UITLES COMPRADOS

class compra 
{
  char codutil[10];
  int cantidad;
  float subtotal;  //precio*cantidad

  public:

   compra();
   
   void llenar(listautil);
  void presenta();
  char* getcodutil(){return codutil;}
  void setcodutil(char* cod){strcpy(codutil,cod);}
  float getsubtotal(){return subtotal;}
  
  

};


//////////////////////////funciones cLAse compra//////////////////////
 compra::compra(){
   codutil[0]=NULL;

  cantidad=0;
   subtotal=0.0;

 }

void compra::llenar(listautil LU){

	util* posx;
	char cod1[10];
		posx=new util();

 cout<<"\n  Registro de nuevo compra: \n" ;

SD>//AQUI ES EL PROBLEMA SOLO ME DEJA COMPRAR UN UTIL ESCOLAR
SD>//Y SI QUIERO SEGUIR COMPRANDO ES COMO SI LA LISTA DE UTILES SE HUBIESE SD>//BORRADO Y POR LO TANTO EL DO-WHILE YANO ME DEJA AVANZAR

 do{
	 cout<<"\n  Ingrese el codigo del util escolar :";
	cin>>cod1;
	 posx=LU.buscar(cod1);//buscando en lista de UTILES
 }while(!(posx!=NULL));

 setcodutil(cod1); 

 cout<<"\nIngrese cantidad comprada(und): " ; cin>>cantidad; 

 subtotal=cantidad*posx->getprecio();

 }

 void compra::presenta(){
	cout<<"\n\n Codigo del util escolar: "<< codutil<<"\n";
	 cout<<"\n Cantidad comprada del producto :"<<cantidad<<" und" <<"\n";
	  cout<<"\n Subtotal de la compra : S/. "<<subtotal <<"\n";
		

 }

/////////////LISTA DE UTILES COMPRADOS//////////////////////////////

class listacompras{

	  int N,MAX;
	  float montototal;
	  compra *data2;

	  public:

	  listacompras(){
			N=MAX=0;
		       data2=NULL;
	  }

	  ~listacompras(){delete data2;};
       void crece();
       void inserta(compra& );
       void presenta();
	//    int buscar(char cod[]) ;
	    
	    int getN(){return N;}
		 compra* getdatacompras(){return data2;}
		 float calculamontototal();
	};
Es ovio que para saber que utiles quiero "comprar" debo saber que utiles existen, por eso mismo es que en cada elemento de las Lista de utiles comprados debo tener adentro de esta ala Lista de Utiles, creo que ahi parte el nuevo problema...meter una lista enlazada dentro de "algo"...creo que los punteros lo complican todo pero tengo que hacerlo exclusivamente asi lamentablemente.

Y esta lista de utiles comprados(listacompras) es un miembro dato de class venta que forma parte de una Listaventas pero ya no quiero complicar mas las cosas tampoco se sime deje entender bueno las disculpas del caso sinome supe expresar de todos modos se agradece la ayuda o comentarios

saludos y un abrazo


Más información sobre la lista de distribución Cconclase