Foros del Web » Programación para mayores de 30 ;) » C/C++ »

por favor, eliminar tema

Estas en el tema de por favor, eliminar tema en el foro de C/C++ en Foros del Web. hola, estoy tendiendo problemas con una aplicacion, espero que alguien pueda ayudarme, lo he revisado varias veces pero no he tenido exito, desde ya gracias ...
  #1 (permalink)  
Antiguo 15/09/2010, 00:35
 
Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 14 años, 10 meses
Puntos: 0
por favor, eliminar tema

hola, estoy tendiendo problemas con una aplicacion, espero que alguien pueda ayudarme, lo he revisado varias veces pero no he tenido exito, desde ya gracias

Código:
#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>

//grupo nro 04  nombre: gonzalez oros, celeste belen...

const n=1000;
int ult=0;
typedef struct {char cod[5];
					 char nom[20];
                char raz[30];
                int pes;
                }perro;
perro lsd[n];
perro lsos[n];
perro lsob[n];
int codop;
char codigo[5];
char nombre[20];
char raza[30];
int peso;
int exito=0;
int pos;
int e=0;
//vbles para sacar los costos lista secuencial desordenada
int maxlsd1=0;
int coslsd1=0;
int cantlsd1=0;
int promlsd1=0;

int maxlsd2=0;
int coslsd2=0;
int cantlsd2=0;
int promlsd2=0;

int maxlsd3e=0;
int coslsd3e=0;
int cantlsd3e=0;
int promlsd3e=0;

int maxlsd3f=0;
int coslsd3f=0;
int cantlsd3f=0;
int promlsd3f=0;
//vbles para sacar los costos lista secuencial ordenada busq secuencial
int maxlsos1=0;
int coslsos1=0;
int cantlsos1=0;
int promlsos1=0;

int maxlsos2=0;
int coslsos2=0;
int cantlsos2=0;
int promlsos2=0;

int maxlsos3e=0;
int coslsos3e=0;
int cantlsos3e=0;
int promlsos3e=0;

int maxlsos3f=0;
int coslsos3f=0;
int cantlsos3f=0;
int promlsos3f=0;
//vbles para sacar los costos lista secuencial ordenada busq binaria
int maxlsob1=0;
int coslsob1=0;
int cantlsob1=0;
int promlsob1=0;

int maxlsob2=0;
int coslsob2=0;
int cantlsob2=0;
int promlsob2=0;

int maxlsob3e=0;
int coslsob3e=0;
int cantlsob3e=0;
int promlsob3e=0;

int maxlsob3f=0;
int coslsob3f=0;
int cantlsob3f=0;
int promlsob3f=0;
si alguien me puede ayudar se lo agradeceria
  #2 (permalink)  
Antiguo 15/09/2010, 00:36
 
Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 14 años, 10 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;
  };
};
  #3 (permalink)  
Antiguo 15/09/2010, 00:37
 
Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema con consulta a archivo adjunto

la tercera parte,
Código:


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

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

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





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

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

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







void mostrarlsd(){
  int t,i;
     t=ult;

     if (ult==0)
     {
       cout << "la estructura esta vacia" << '\n';
     }
     else
     {
       for(i=0;i<t; i++){
         cout << (i+1) << "_" << lsd[i].cod << '\n';
         cout << lsd[i].nom << '\n';
         cout << lsd[i].raz << '\n';
         cout << lsd[i].pes << '\n';
         getchar();
       };

  	    for(;i<n;i++){
         cout << (i+1)<< "_" << "La posicion esta vacia" << '\n';
       };
     };
     getchar();
     clrscr();
};





void mostrarlsos(){
  int t,i;
     t=ult;

     if (ult==0)
     {
       cout << "la estructura esta vacia" << '\n';
     }
     else
     {
       for(i=0;i<t; i++){
         cout << (i+1) << "_" << lsos[i].cod << '\n';
         cout << lsos[i].nom << '\n';
         cout << lsos[i].raz << '\n';
         cout << lsos[i].pes << '\n';
         getchar();
       };

  	    for(;i<n;i++){
         cout << (i+1)<< "_" << "La posicion esta vacia" << '\n';
       };
      };
     getchar();
     clrscr();
};




void mostrarlsob(){
  int t,i;
     t=ult;

     if (ult==0)
     {
       cout << "la estructura esta vacia" << '\n';
     }
     else
     {
       for(i=0;i<t; i++){
         cout << (i+1) << "_" << lsob[i].cod << '\n';
         cout << lsob[i].nom << '\n';
         cout << lsob[i].raz << '\n';
         cout << lsob[i].pes << '\n';
         getchar();
       };

  	    for(;i<n;i++){
         cout << (i+1)<< "_" << "La posicion esta vacia" << '\n';
       };
     };
     getchar();
     clrscr();
};





void archoperaciones(){
 FILE *fp;

  if((fp = fopen("operaciones.txt","r")) == NULL)
  {
    cout << "ERROR: no se pudo abrir el archivo" << '\n';
    getchar();
    clrscr();
  }
  else
  {
    while (!(feof(fp)&& (ult<1000)))
    {
       fscanf (fp,"%d", codop);
       if ((codop==1)||(codop==2))
       {
          fscanf(fp,"%s\n",codigo);
          codigo[5]='\0';
          for(int t=0; t<5; t++)
            {
              codigo[t] = tolower(codigo[t]);
             };
          codigo[4]='\0';

          fgets(nombre,30,fp);
          nombre[strlen(nombre)-1]='\0';
          for(int t=0; t<30; t++)
          {
            nombre[t] = tolower(nombre[t]);
          };

          fgets(raza,30,fp);
          nombre[strlen(raza)-1]='\0';
          for(int t=0; t<30; t++)
          {
            raza[t]=tolower(raza[t]);
          };

          fscanf(fp,"%d",&peso);
       }
       else
       {
          fscanf(fp,"%s\n",codigo);
          codigo[5]='\0';
          for(int t=0; t<5; t++)
            {
              codigo[t] = tolower(codigo[t]);
             };
          codigo[4]='\0';
       };
       switch (codop)
       {
          case 1:
          {
             clrscr();
             altalsd(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "el alta de la lsd se llevo a cabo"<< '\n';
             }else{
               cout << "el alta de la lsd no se llevo a cabo"<< '\n';
             };
             altalsos(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "el alta de la lsos se llevo a cabo"<< '\n';
             }else{
               cout << "el alta de la lsos no se llevo a cabo"<< '\n';
             };
             altalsob(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "el alta de la lsob se llevo a cabo"<< '\n';
             }else{
               cout << "el alta de la lsob no se llevo a cabo"<< '\n';
             };
             getchar();
             clrscr();
             break;
          }
          case 2:
          {
             clrscr();
             bajalsd(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "la baja de la lsd se llevo a cabo"<< '\n';
             }else{
               cout << "la baja de la lsd no se llevo a cabo"<< '\n';
             };
             bajalsos(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "la baja de la lsos se llevo a cabo"<< '\n';
             }else{
               cout << "la baja de la lsos no se llevo a cabo"<< '\n';
             };
             bajalsob(codigo, nombre, raza, &peso, &exito);
             if(exito){
               cout << "la baja de la lsob se llevo a cabo"<< '\n';
             }else{
               cout << "la baja de la lsob no se llevo a cabo"<< '\n';
             };
             getchar();
             clrscr();
             break;
          }
          case 3:
          {
             clrscr();
             evocarlsd(codigo, &exito);
             if(exito){
               cout << "el codigo en la lsd se encontro" << '\n';
            }else{
               cout << "el codigo en la lsd no se encontro"<< '\n';
            };
            evocarlsos(codigo, &exito);
             if(exito){
               cout << "el codigo en la lsos se encontro" << '\n';
            }else{
               cout << "el codigo en la lsos no se encontro"<< '\n';
            };
            evocarlsob(codigo, &exito);
             if(exito){
               cout << "el codigo en la lsob se encontro" << '\n';
            }else{
               cout << "el codigo en la lsob no se encontro"<< '\n';
            };
            getchar();
            clrscr();
            break;
          };
       };
    };
  };
};



void mostrarlistas(){
  int fin=5;
  for(;fin!=0;)
  {
  cout << '\n' << "Elija la estructura que desea ver" << '\n' << '\n';
  cout << "1_Lista Secuencial Desordenada" <<'\n';
  cout << "2_Lista Secuencial Orednada con busqueda secuencial" <<'\n';
  cout << "3_Lista Secuencial Ordenada con busqueda binaria" <<'\n';
  cout << "4_Para regregar al menu anterior" <<'\n';
  cout << "ingrese una opcion: ";
  int op;
  cin >> op;
  switch (op)
  {
    case 1:
    {
       clrscr();
       mostrarlsd();
       getchar();
       break;
    }
    case 2:
    {
       clrscr();
       mostrarlsos();
       getchar();
       break;
    }
    case 3:
    {
       clrscr();
       mostrarlsob();
       getchar();
       break;
    }
    case 4:
    {
       clrscr();
       fin=0;
       break;
    }
  };
  };
};
  #4 (permalink)  
Antiguo 15/09/2010, 00:37
 
Fecha de Ingreso: junio-2009
Mensajes: 78
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: problema con consulta a archivo adjunto

la aplicacion la obtube por una chica que es alumna de una universidad, luego me di cuenta que podia llegar a traerle problemas por lo que decidi no seguir adelante, mis disculpas a todos

Última edición por leandro_or; 15/09/2010 a las 01:20

Etiquetas: eliminar, favor, tema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:30.