Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/03/2010, 16:52
nosek159
 
Fecha de Ingreso: octubre-2008
Mensajes: 118
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: proplema con paso de punteros de structuras a funciones

con q me salta me refiero a q me da error y tengo q cerrarlo.

Tengo el siguiente codigo:

Main
Código:
    int opcion=10;
    struct personas *primera;
    struct personas *ultima;
    int nPersonas=0;

        scanf("%d",&opcion);
        fflush(stdin);

        switch(opcion){
            case 3: {
                primera=insertar(&primera, &ultima, &nPersonas);
                break;
            }
            case 4: {
                mostrar(primera);
                break;
            }
            default: {
                puts("No es una opcion valida");
            }
        }
funciones:

Código:
void insertar(struct personas **primera, struct personas **ultima, int *nPersonas){

    struct personas *persona;


    if ((persona=malloc(sizeof(struct personas)))==NULL){
        puts("Error al asignar la memoria");
    } else {
        puts("Dime el nombre de la persona: ");
        gets(persona->nombre);
        fflush(stdin);
        puts("Dime la edad: ");
        scanf("%d",&persona->edad);
        fflush(stdin);
        persona->siguiente=NULL;
        if ((*nPersonas)==0){
            *ultima=persona;
            *primera=persona;
        } else {
            (**ultima).siguiente=persona;
            *ultima=persona;
        }
        (*nPersonas)++;
        printf("Nombre: %s\nEdad: %d",(**ultima).nombre,(**ultima).edad);
        puts("Insercion correcta");
    }
}

void mostrar(struct personas *primera){

    struct personas *perActual=primera;
        printf("Nombre: %s\nEdad: %d\n",perActual->nombre, perActual->edad);

}
he eliminado el bucle de mostrar pero aun asi me salta error al intentar mostrar pero no veo el xk.

Tmp nose xk **ahora la segunda vez q intento insertar una persona me salta error, si antes lo probe y funcionaba, peta justo en el if pero no hace ni el if ni el else :S. Nose, no lo entiendo si lo veo bien