Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2010, 00:36
leandro_or
 
Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema con consulta a archivo adjunto

la otra parte del codigo
Código:





void inicializa (perro *lsd, perro *lsos, perro *lsob){
     int j;

     for(j=0;j<30;j++){
         lsd[0].nom[j]='|';
	    	lsd[0].raz[j]='|';
     };
     for(j=0;j<5;j++){
     		lsd[0].cod[j]='|';
     };
     lsd[0].pes=0;

     for(j=0;j<30;j++){
         lsos[0].nom[j]='|';
	    	lsos[0].raz[j]='|';
     };
     for(j=0;j<5;j++){
     		lsos[0].cod[j]='|';
     };
     lsos[0].pes=0;

     for(j=0;j<30;j++){
         lsob[0].nom[j]='|';
	    	lsob[0].raz[j]='|';
     };
     for(j=0;j<5;j++){
     		lsob[0].cod[j]='|';
     };
     lsob[0].pes=0;

};





void localizarlsd(char* codigo, int *pos, int *exito, int *e){
  int i=0;

  if(ult==0)
  {
    (*exito)=0;
    (*pos)=0;
    cantlsd3f= cantlsd3f+1;
  }
  else
  {
    while(i<ult)
    {
      if((strcmp(lsd[i].cod,codigo)) != 0)
      {
         i= i+1;
      }
      else
      {
         break;
      };
    };
    if((i<ult) && (strcmp(lsd[i].cod,codigo))== 0)
    {
     (*exito)=1;
     (*pos)=i;
     if((*e)==1)
     {
      if(maxlsd3e < (i+1))
      {  maxlsd3e= (i+1);
      };
      coslsd3e= coslsd3e+ (i+1);
      cantlsd3e= cantlsd3e+1;
     };
    }
    else
    {
     (*exito)=0;
     (*pos)=i;
     if((*e)==1)
     {
      if(maxlsd3f < (i+1))
      {  maxlsd3f= (i+1);
      };
      coslsd3f= coslsd3f+(i+1);
      cantlsd3f= cantlsd3f+1;
     };
    };
  };
};






void localizarlsos(char* codigo, int *pos, int *exito, int *e){
  int i=0;

  if(ult==0)
  {
    (*exito)=0;
    (*pos)=0;
    cantlsos3f= cantlsos3f+1;
  }
  else
  {
    while(i<ult)
    {
      if((strcmp(lsos[i].cod,codigo)) < 0)
      {
         i= i+1;
      }
      else
      {
         break;
      };
    };
    if((i<ult) && (strcmp(lsos[i].cod,codigo))== 0)
    {
     (*exito)=1;
     (*pos)=i;
     if((*e)==1)
     {
      if(maxlsos3e < (i+1))
      {  maxlsos3e= (i+1);
      };
      coslsos3e= coslsos3e+ (i+1);
      cantlsos3e= cantlsos3e+1;
     };
    }
    else
    {
     (*exito)=0;
     (*pos)=i;
     if((*e)==1)
     {
      if(maxlsos3f < (i+1))
      {  maxlsos3f= (i+1);
      };
      coslsos3f= coslsos3f+ (i+1);
      cantlsos3f= cantlsos3f+1;
     };
    };
  };
};






void localizarlsob(char* codigo, int *pos, int *exito, int *e){
  int ls, li, t, i=0,cont=0;

  if(ult==0)
  {
    (*exito)=0;
    (*pos)=0;
    cantlsob3f= cantlsob3f+1;
  }
  else
  {
    li=0;
    ls=ult-1;

    t=((ls+li+1)/2);

    while(li<ls)
    {
      if((strcmp(lsob[t].cod,codigo))<0){
          li=t+1;
      }
      else{
          ls=t;
      };
      t=((ls+li+1)/2);
      cont= cont+1;
    };
    t=li;
    if((strcmp(lsob[t].cod,codigo))==0)
    {
       (*pos)= t;
       (*exito)= 1;
       if((*e)==1)
       {
      	if(maxlsob3e < cont)
      	{  maxlsob3e= cont;
      	};
      	coslsob3e= coslsob3e+ cont;
      	cantlsob3e= cantlsob3e+1;
       };
    }
    else
    {
       (*exito)= 0;
       if((strcmp(lsob[t].cod,codigo))<0)
       {
             (*pos)= t+1;
       }
       else{
             (*pos)= t;
       };
       if((*e)==1)
       {
      	if(maxlsob3f < cont)
      	{  maxlsob3f= cont;
      	};
      	coslsob3f= coslsob3f+ cont;
      	cantlsob3f= cantlsob3f+1;
       };
    };
  };
};






void altalsd(char *codigo, char *nombre, char *raza, int *peso, int *exito){
  int cont=0;
//no se realiza ningun corrimiento xq siemrpe se agrega despues del ult.

  e=0;
  localizarlsd(codigo, exito, &pos, &e);

   if((*exito) == 0){
     strcpy(lsd[pos].cod, codigo);
     strcpy(lsd[pos].nom, nombre);
     strcpy(lsd[pos].raz, raza);
     lsd[pos].pes = (*peso);
     ult++;
     (*exito) = 1;
     if(maxlsd1 < cont)
     {  maxlsd1= cont;
     };
     coslsd1= coslsd1+ cont;
     cantlsd1= cantlsd1+1;
   }else{
     (*exito) = 0;
   };
};







void altalsos(char *codigo, char *nombre, char *raza, int *peso, int *exito){
  int i, cont=0;

  e=0;
  localizarlsos(codigo, exito, &pos, &e);

   if((*exito) == 0){
     for(i=ult; i > pos; i--)
     {
       lsos[i]= lsos[i-1];
       cont++;
     };
     strcpy(lsos[pos].cod, codigo);
     strcpy(lsos[pos].nom, nombre);
     strcpy(lsos[pos].raz, raza);
     lsos[pos].pes = (*peso);
     ult++;
     (*exito) = 1;
     if(maxlsos1 < cont)
     {  maxlsos1= cont;
     };
     coslsos1= coslsos1+ cont;
     cantlsos1= cantlsos1+1;
   }else{
     (*exito) = 0;
   };
};







void altalsob(char *codigo, char *nombre, char *raza, int *peso, int *exito){
  int i, cont=0;

  e=0;
  localizarlsob(codigo, exito, &pos, &e);

   if((*exito) == 0){
     for(i=ult; i > pos; i--)
     {
       lsob[i]= lsob[i-1];
       cont++;
     };
     strcpy(lsob[pos].cod, codigo);
     strcpy(lsob[pos].nom, nombre);
     strcpy(lsob[pos].raz, raza);
     lsob[pos].pes = (*peso);
     ult++;
     (*exito) = 1;
     if(maxlsob1 < cont)
     {  maxlsob1= cont;
     };
     coslsob1= coslsob1+ cont;
     cantlsob1= cantlsob1+1;
   }else{
     (*exito) = 0;
   };
};






void bajalsd(char *codigo, char *nombre, char *raza, int *peso, int *exito){
 int i,cont=0;

 e=0;
 localizarlsd(codigo, exito, &pos, &e);

 if((*exito)==1)
 {
   if ( ((strcmp(lsd[pos].nom, nombre))== 0) &&
        ((strcmp(lsd[pos].raz, raza))== 0)  &&
        ((lsd[pos].pes)== (*peso)))
   {
       for(i=pos; i<ult-1; i++)
       {
         lsd[i]=lsd[i+1];
         cont++;
       };
       ult--;
       (*exito)=1;
       if(maxlsd2 < cont)
       {  maxlsd2= cont;
       };
       coslsd2=coslsd2+ cont;
       cantlsd2=cantlsd2+1;
   }
   else
   {
      (*exito)=0;
   };
 }
 else
 {
    (*exito)=0;
 };
};







void bajalsos(char *codigo, char *nombre, char *raza, int *peso, int *exito){
 int i,cont=0;

 e=0;
 localizarlsos(codigo, exito, &pos, &e);

 if((*exito)==1)
 {
   if ( ((strcmp(lsos[pos].nom, nombre))== 0) &&
        ((strcmp(lsos[pos].raz, raza))== 0)  &&
        ((lsos[pos].pes)== (*peso)))
   {
       for(i=pos; i<ult-1; i++)
       {
         lsos[i]=lsos[i+1];
         cont++;
       };
       ult--;
       (*exito)=1;
       if(maxlsos2 < cont)
       {  maxlsos2= cont;
       };
       coslsos2=coslsos2+ cont;
       cantlsos2=cantlsos2+1;
   }
   else
   {
      (*exito)=0;
   };
 }
 else
 {
    (*exito)=0;
 };
};






void bajalsob(char *codigo, char *nombre, char *raza, int *peso, int *exito){
 int i,cont=0;

 e=0;
 localizarlsob(codigo, exito, &pos, &e);

 if((*exito)==1)
 {
   if ( ((strcmp(lsob[pos].nom, nombre))== 0) &&
        ((strcmp(lsob[pos].raz, raza))== 0)  &&
        ((lsob[pos].pes)== (*peso)))
   {
       for(i=pos; i<ult-1; i++)
       {
         lsob[i]=lsob[i+1];
         cont++;
       };
       ult--;
       (*exito)=1;
       if(maxlsob2 < cont)
       {  maxlsob2= cont;
       };
       coslsob2=coslsob2+ cont;
       cantlsob2=cantlsob2+1;
   }
   else
   {
      (*exito)=0;
   };
 }
 else
 {
    (*exito)=0;
 };
};







void evocarlsd(char *codigo, int *exito){

 e=1;
 localizarlsd(codigo, exito, &pos, &e);

  if((*exito)==1)
  {
    (*exito)= 1;
  }
  else
  {
    (*exito)= 0;
  };
};