elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:24  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Estructuras.....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructuras.....  (Leído 516 veces)
Rodri

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Estructuras.....
« en: 6 Octubre 2011, 17:39 »

Hola a todos! Estoy intentado realizar una estructura pero encuentro los siguientes problemas:

-Hay veces que el Scanf de los nombres me salta el escaneo de los mismos.

-Al recorrer e ipmrimir la lista solo me muestra el ultimo cuando deseo recorrer toda la lista.

Código:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
typedef struct dato{
  char nombre[50];
  struct dato *sig;
  struct dato *ant;
}LISTA;

int main(void)
{
  int cont;
  int cont2=0;
 
  LISTA *inicio,*aux,*nodo;
  inicio=NULL;
  nodo=malloc(sizeof(LISTA));
  if(nodo==NULL)
    {
      printf("No hay memoria");
      exit(1);
    }//if
  printf("Dame un numero de nombres: ");
  scanf("%d", &cont);
  while(cont2!=cont)
    {
      printf("Dame un nombre: \n");
      scanf("%s",nodo->nombre);
      printf("%d\n",cont2);
      if(inicio==NULL)
{
  inicio=nodo;
  inicio->sig==NULL;
  inicio->ant=NULL;
  aux=inicio;
}
      cont2++;
    }
 
  //Recorremos lista
 
  aux=inicio;
  while(aux!=NULL)
    {
      printf("%s\n",aux->nombre);
      aux=aux->sig;
    }//while
}

Gracias por apoyarme!!!

Espero tengan un bonito día!

www.soundcloud.com/talking-trees


En línea
satu

Desconectado Desconectado

Mensajes: 263

Siempre aprendiendo


Ver Perfil WWW
Re: Estructuras.....
« Respuesta #1 en: 6 Octubre 2011, 19:46 »

Hola

Eso pasa porque el buffer de entrada no está limpio, prueba poniendo detrás de cada scanf esto (con el ; ):
Código
while(getchar()!='\n') ;

Además tienes otro error aquí:
Código
if(inicio==NULL)
{
 inicio=nodo;
 inicio->sig==NULL;
 inicio->ant=NULL;
 aux=inicio;
}
Adivina donde hay un = de sobra

Saludos


En línea

Breakbeat como forma de vida
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Estructuras en C
Programación C/C++
SkaTiK 1 427 Último mensaje 19 Diciembre 2005, 20:46
por pepel
pilas y estructuras « 1 2 »
Programación C/C++
Nakp 22 2,054 Último mensaje 30 Mayo 2008, 15:40
por Nakp
estructuras
Programación C/C++
black-heart 2 482 Último mensaje 2 Febrero 2009, 12:24
por dooque
Estructuras dinamicas
Programación C/C++
darkxxx 2 2,292 Último mensaje 4 Abril 2009, 07:16
por darkxxx
estructuras punteros programacion c
Programación C/C++
adexrn 4 363 Último mensaje 9 Abril 2012, 10:10
por adexrn
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines