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

 

 


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, K-YreX)
| | |-+  Estructuras.....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructuras.....  (Leído 2,728 veces)
Rodri

Desconectado Desconectado

Mensajes: 1


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

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: 301

Siempre aprendiendo


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

Hola

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

Además tienes otro error aquí:
Código
  1. if(inicio==NULL)
  2. {
  3.  inicio=nodo;
  4.  inicio->sig==NULL;
  5.  inicio->ant=NULL;
  6.  aux=inicio;
  7. }
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 selectivas
.NET (C#, VB.NET, ASP)
leliCabello 3 7,468 Último mensaje 29 Marzo 2010, 20:26 pm
por leliCabello
[C] - Duda estructuras « 1 2 »
Programación C/C++
h0oke 14 7,211 Último mensaje 21 Mayo 2010, 22:34 pm
por Littlehorse
estructuras punteros programacion c
Programación C/C++
adexrn 4 3,779 Último mensaje 9 Abril 2012, 10:10 am
por adexrn
Error de estructuras en C « 1 2 »
Programación C/C++
ERIK546 10 6,256 Último mensaje 20 Junio 2012, 09:45 am
por durasno
Uso de Estructuras dentro de Estructuras en C
Programación C/C++
Ghio97 0 1,776 Último mensaje 27 Agosto 2019, 05:44 am
por Ghio97
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines