elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  fallo al mostrar y buscar los datos insertados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: fallo al mostrar y buscar los datos insertados  (Leído 1,698 veces)
baisa

Desconectado Desconectado

Mensajes: 2


Ver Perfil
fallo al mostrar y buscar los datos insertados
« en: 5 Abril 2011, 15:05 pm »

Hola;
 Este es el código en el cual tengo un fallo a la hora de mostrar el nombre de los datos insertados y otro también a la hora de vuscar los datos por la edad introducida el nombre lo muestra mal y nose donde esta el error.

Si me pueden ayudar se lo agradezco.
Gracias.

Este es el código;




//LIBRERIAS UTILIZADAS
 
 
#include <stdio.h>
#include <stdlib.h>

//ESTRUCTURA A UTILIZAR

typedef struct lalista{
        char nombre[100];
       float peso;
       int edad;
        struct lalista *siguiente;
        }telemento;

//DECLARACION DE FUNCIONES

telemento *NuevoElemento(void);
void mostrar_lista(telemento *);
void insertar(telemento **, telemento **);
void buscar_por_edad(telemento *, telemento *);

//FUNCION PRINCIPAL

int main(void)
{
    telemento *principio=NULL,*final=NULL, *paux=NULL;//punteros a la cola.
    int opcion=0;

    printf("\nVamos a manejar una lista de enteros.");

while(opcion!=4)
{
   printf("\nElija una opcion: \n1)Mostrar \n2)Insertar \n3)Buscar \n4)Salir\n");
   scanf("%d",&opcion);
   switch(opcion)
      {
      case 1:   printf("\nLa lista actual es: ");
            mostrar_lista(principio);
            break;
      case 2: printf("\nInsertar un nuevo elemento al final de la lista: ");
            insertar(&principio,&final);
            break;
   case 3: printf("\nBuscar por edad: ");
            buscar_por_edad(principio,paux); //Devolver en paux el primero de la lista que tenga la edad buscada
   
            break;
   case 4: printf("\nFin de la aplicacion: ");
            break;
   default: printf("\nOpcion incorrecta, pruebe de nuevo\n");
   } //Fin del switch
   } //Fin del while
return 0;
} //Fin de main

telemento *NuevoElemento(void)
{
          telemento *q=((telemento *)malloc(sizeof(telemento)));
          if(!q){
                 printf("Error\n");
                 exit(1);
          }
          return q;
}

void mostrar_lista(telemento *principio)
{
     telemento *puntero;
     puntero=principio;
     
     
     if(puntero==NULL)
     {
                      printf("Cola vacia\n");
     }
     else{
          puntero=principio;
          while(puntero!=NULL)
          {
                              printf("%s %f %d",puntero->nombre, puntero->peso, puntero->edad);
                              puntero=puntero->siguiente;
          }
     }
}

void insertar(telemento **principio,telemento **final)
{
     telemento *puntero_inicio,*puntero_final,*puntero;
     
     char nombre[100];
    float peso;
    int edad;
     fflush(stdin);
     printf("Nombre: ");
     gets(nombre);
     printf("Peso: ");
     scanf("%f",&peso);
     printf("Edad: ");
     scanf("%d",&edad);
     
     puntero_inicio=*principio;//Puntero al inicio  de la cola.
     puntero_final=*final; //Puntero al final de la cola.
     
     puntero=NuevoElemento();
     strcpy(nombre,puntero->nombre);//Metemos los datos.
     puntero->peso=peso;
     puntero->edad=edad;
     puntero->siguiente=NULL;//El ultimo apuntara a NULL.
     
     if(puntero_inicio==NULL)//la cola esta vacia.
     {
           puntero_inicio=puntero;
           puntero_final=puntero;
     }
     else{
          puntero_final->siguiente=puntero;
          puntero_final=puntero;
          }
         
     *final=puntero_final;
     *principio=puntero_inicio;
}

void buscar_por_edad(telemento *principio, telemento *paux)
{
     telemento *puntero;
     puntero=principio;
     
     if(puntero==NULL)
     {
           printf("Cola vacia\n");
     }
     else{
          int buscar;
          printf("Busqueda por edad: ");
          scanf("%d",buscar);
          puntero=principio;
          while(puntero!=NULL)
          {
               if(puntero->edad==buscar)
               {
               printf("%s %f %d",puntero->nombre, puntero->peso, puntero->edad);
               paux=puntero;
               }
               else
               {
                   printf("No hay nadie con esa edad");
               }
          puntero=puntero->siguiente;
          }
          }
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error Al Mostrar Datos
Programación Visual Basic
Rudy21 1 1,598 Último mensaje 16 Noviembre 2008, 18:22 pm
por seba123neo
mostrar datos por mes y año
Programación Visual Basic
leliCabello 4 2,097 Último mensaje 10 Junio 2010, 20:15 pm
por leliCabello
agenda en c... problema con mostrar contactos y buscar contacto en especifico
Programación C/C++
attackers 7 6,222 Último mensaje 21 Noviembre 2011, 19:53 pm
por s00rk
Jquery Buscar y Mostrar Elemento
Desarrollo Web
Slikp 2 2,438 Último mensaje 25 Noviembre 2014, 20:20 pm
por Slikp
Eliminar datos de una clase insertados en un arraylist
Java
jorgecotrinax 1 3,133 Último mensaje 7 Noviembre 2021, 19:38 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines