15/09/2010, 00:36
|
| | Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 15 años, 5 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;
};
};
|