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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema al leer/mostrar lista simplemente enlazada en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al leer/mostrar lista simplemente enlazada en C  (Leído 267 veces)
Chamit Jabes

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema al leer/mostrar lista simplemente enlazada en C
« en: 9 Abril 2017, 13:30 »

Bueno chicos ocurre que al momento de querer mostrar la lista, el unico dato correcto es el ultimo int del struct de datos (int horac)

Quisiera saber que estoy haciendo mal. De antemano muchas gracias.

CODIGO:

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5. //Se tiene una lista simplemente enalzada que representa los canales de televisio de un cable operador. Se maneja el nombre de cada
  6. //canal, el tipo de canal, el n° asignado y la cantidad de horas en comerciales que permite. Se solicita:
  7. //A) Declare los struct a ser utilizados
  8. //B) Determine el promedio de comerciales que emiten los canales de television
  9. //C) Agregar un nuevo Canal
  10. //D) Eliminar el o los canales que emiten mayor cantidad de horas en comerciales, debe mostrar por pantalla el detalle de los canales eliminados
  11.  
  12. struct nodoCanales
  13. {
  14. struct DatosCanal *canal;
  15. struct nodoCanales *sig;
  16. };
  17.  
  18. struct DatosCanal
  19. {
  20. char nombre;
  21. char tipo
  22. int numero;
  23. int horac;
  24. };
  25.  
  26. struct nodoCanales *crear();
  27. void enlazarCanal(struct nodoCanales **, struct nodoCanales *);
  28. void mostrarCanal(struct nodoCanales *);
  29.  
  30. int main()
  31. {
  32. int i=0;
  33.  
  34. struct nodoCanales *lista = NULL;
  35. struct nodoCanales *aux = NULL;
  36.  
  37. for(i=0;i<1;i++)
  38. {
  39. enlazarCanal(&lista,crear());
  40. }
  41.  
  42. aux=lista;
  43.  
  44. while(aux)
  45. {
  46. mostrarCanal(aux);
  47. aux=aux->sig;
  48. }
  49.  
  50. return 0;
  51. }
  52.  
  53. struct nodoCanales *crear()
  54. {
  55. char buffer[50];
  56. int size=0;
  57.  
  58. struct nodoCanales *nuevo;
  59.  
  60. nuevo=(struct nodoCanales *)malloc(sizeof(struct nodoCanales));
  61.  
  62. printf("Ingrese el nombre del canal: \n");
  63. scanf(" %[^\n]",buffer);
  64. size=strlen(buffer);
  65. nuevo->canal->nombre=(char*)malloc(size*sizeof(char));
  66. strcpy(nuevo->canal->nombre,buffer);
  67.  
  68. printf("Ingrese el tipo de canal: \n");
  69. scanf(" %[^\n]",buffer);
  70. size=strlen(buffer);
  71. nuevo->canal->tipo=(char*)malloc(size*sizeof(char));
  72. strcpy(nuevo->canal->tipo,buffer);
  73.  
  74. printf("Ingrese el numero del canal: \n");
  75. scanf("%d",&nuevo->canal->numero);
  76.  
  77. printf("Ingrese la cantidad de horas en comerciales del canal: \n");
  78. scanf("%d",&nuevo->canal->horac);
  79.  
  80. nuevo->sig=NULL;
  81.  
  82. return nuevo;
  83. }
  84.  
  85. void enlazarCanal(struct nodoCanales **head, struct nodoCanales *nuevo)
  86. {
  87. struct nodoCanales *rec = *head;
  88.  
  89. if(!(*head))
  90. {
  91. *head = nuevo;
  92. }
  93.  
  94. else
  95. {
  96. while(rec)
  97. {
  98. if(!(rec->sig))
  99. {
  100. rec->sig = nuevo;
  101. rec = nuevo;
  102. }
  103. rec = rec->sig;
  104. }
  105. }
  106. }
  107.  
  108. void mostrarCanal(struct nodoCanales *nodo)
  109. {
  110. printf("%c \n",nodo->canal->nombre);
  111. printf("%c \n",nodo->canal->tipo);
  112. printf("%d \n",nodo->canal->numero);
  113. printf("%d \n",nodo->canal->horac);
  114. }
  115.  
  116.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 9 Abril 2017, 14:29 por engel lex » En línea

Chamit Jabes

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema al leer/mostrar lista simplemente enlazada en C
« Respuesta #1 en: 10 Abril 2017, 01:57 »

Cerrar ya logre arreglarlo :)


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda]Lista simplemente enlazada
Programación C/C++
Cervantes_xD 5 2,338 Último mensaje 5 Enero 2010, 01:20
por Cervantes_xD
Lista Simplemente enlazada ayuda
Programación C/C++
Cpp 1 531 Último mensaje 11 Diciembre 2014, 07:29
por eferion
Ordenar lista simplemente enlazada en lenguaje C. « 1 2 3 »
Programación C/C++
NOB2014 20 4,037 Último mensaje 12 Julio 2016, 19:28
por NOB2014
Borrar nodo en lista simplemente enlazada[C]
Programación C/C++
NOB2014 4 967 Último mensaje 28 Julio 2016, 14:22
por NOB2014
Problema con una lista simplemente enlazada en C++
Programación C/C++
Mike_EDD 1 188 Último mensaje 4 Septiembre 2017, 22:24
por ivancea96
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines