SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: mnv_19 en Miércoles 6 de Junio de 2007, 13:51

Título: Lista Enlazada
Publicado por: mnv_19 en Miércoles 6 de Junio de 2007, 13:51
Hola, tengo que hacer un programa sobre listas enlazadas, me dice que en su cuarto argumento recibe un saldo minimo.la estructura es del siguiente tipo:

struct datos{
char nif[20];
int saldo_actual;
};

una de las cosas que pide es que muestre por pantalla el nif de los clientes que superan el saldo minimo que se introdujo como cuarto parametro.Entonces,yo he pensado hacerlo de la siguiente forma, pero no se si será correcta.

[CODE]void Mostrar(struct lista *l){
  struct datos *aux;
  aux=l->inicio;
  if(aux==NULL){
    printf("Lista vacia");
    exit(0);
   }
  else{
     if(aux->saldo_actual > argv[3]){
       while(aux!=NULL){
          printf("NIF:%s\n",aux->nif);
          }
        }
   }
}[\CODE]
Seria correcto??Muchas gracias!
Título: Re: Lista Enlazada
Publicado por: LeGatoRojo en Jueves 7 de Junio de 2007, 21:06
Son listas doblemente ligadas, o con solo una liga, circular  :blink:

en todo caso deberia tener una apuntador a siguiente o algo asi nop. bueno supongamos lo siguiente:
Código: Text
  1.  
  2.  
  3. struct datos{
  4. char nif[20];
  5. int saldo_actual;
  6. struct datos * sig;
  7. };
  8.  
  9. void muestra(struct datos *lista)
  10. {
  11.     struct datos* aux;
  12.     aux=lista->inicio;
  13.     if(!aux)
  14.         printf("\nLista Vacia");
  15.     else
  16.     {
  17.        while(aux)
  18.       {
  19.            if(aux->saldo_actual > argv[3])
  20.                printf("NIF:%s\n",aux->nif);
  21.            aux=aux->sig;
  22.       }
  23.     }
  24. }
  25.  
  26.  
Título: Re: Lista Enlazada
Publicado por: mnv_19 en Viernes 8 de Junio de 2007, 14:08
Entonces estaria bien, y solo le quedaria poner el apuntaodr a siguiente no?mcuhas gracias.