Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2015, 08:20
GerardoVF78
 
Fecha de Ingreso: junio-2015
Mensajes: 4
Antigüedad: 9 años, 6 meses
Puntos: 0
Duda programación en C

Buenas, estoy intentando hacer un código que pida por pantalla el nombre, la edad y el teléfono de una persona para añadirlo a una lista. El código es el siguiente:


Código c:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. struct Datos{
  6.     char *nombre;
  7.     int edad;
  8.     double telef;
  9.     struct Datos *sig;
  10. };
  11.  
  12. typedef struct Datos miembro;
  13.  
  14. miembro *CrearMiembro(miembro *Lista, double telefono, int anios, char *name){
  15.    
  16.     miembro *NuevoMiembro, *aux;
  17.     NuevoMiembro = (miembro *) malloc(sizeof(miembro));
  18.    
  19.     if(NuevoMiembro != NULL){
  20.         NuevoMiembro->edad = anios;
  21.         NuevoMiembro->telef = telefono;
  22.         NuevoMiembro->nombre = name;
  23.         NuevoMiembro->sig = NULL;
  24.     }
  25.    
  26.         if (Lista == NULL){
  27.             Lista = NuevoMiembro;
  28.         }
  29.         else{
  30.             aux = Lista;
  31.            
  32.             while(aux->sig != NULL){
  33.                 aux = aux->sig;
  34.             }
  35.            
  36.             aux = NuevoMiembro;
  37.         }
  38.    
  39.     return Lista;
  40. }
  41.  
  42. void ImprimirLista(miembro *Lista){
  43.    
  44.     miembro *aux;
  45.    
  46.     aux = Lista;
  47.    
  48.     printf("La Lista contiene los siguientes datos: \n");
  49.    
  50.     while(aux!=NULL){
  51.        
  52.         printf("Edad: /%d Telefono: %d Nombre: %s -> \n", aux->edad, aux->telef, aux->nombre);
  53.         aux = aux->sig;
  54.        
  55.     }
  56.    
  57.     printf("NULL");
  58. }
  59.  
  60. int main(){
  61.    
  62.     miembro *Lista1;
  63.     char *Nombre;
  64.     int age;
  65.     double teleph;
  66.        
  67.     Lista1->edad = 19;
  68.     Lista1->telef = 657485748;
  69.     Lista1->nombre = 'Alfonso';
  70.    
  71.     Lista1->sig = NULL;
  72.    
  73.     printf("Indique el nombre que quiere introducir: ");
  74.     scanf("%s", Nombre);
  75.     printf("\n");
  76.    
  77.     fflush(stdin);
  78.    
  79.     printf("Indique el telefono: ");
  80.     scanf("%d", &teleph);
  81.     printf("\n");
  82.    
  83.     printf("Indique la edad: ");
  84.     scanf("%d", &age);
  85.    
  86.     Lista1 = CrearMiembro(Lista1, teleph, age, Nombre);
  87.    
  88.     ImprimirLista(Lista1);
  89.    
  90.    
  91.    
  92.     system("PAUSE");
  93. }

No da ningún error de compilación, sin embargo, al ejecutarlo deja de funcianar y no sé por qué.