martes, 15 de octubre de 2013

Agenda con estructura dinamica

___Users_alejandro_Desktop_LISTA_lista_c.html
#include "lista.h"

void menu(){
     
     printf("\n1. Insertar estudiante");     
     printf("\n2. Recorrer lista ");       
     printf("\n3. SALIR "); 
}

alumno* leerDatos(alumno *inicio){
     alumno *nuevo; 
     alumno *nodoSiguiente;
     
     nuevo= (alumno *)malloc(sizeof(alumno));
     printf("\n Nombre:"); 
     scanf(" %[^\n]", nuevo->nom);      
     printf(" Matricula:"); 
     scanf(" %[^\n]", nuevo->mat);       
     printf(" Edad:"); 
     scanf("%d", &(nuevo->edad));
     printf(" Prom General:"); 
     scanf("%lf", &(nuevo->promG));
     nuevo->sig=NULL;
     
     if (inicio== NULL){
       inicio= nuevo;
     }  
     else{
        nodoSiguiente=inicio;
        
        while(nodoSiguiente->sig != NULL ){
           nodoSiguiente=nodoSiguiente->sig;                      
        }
        nodoSiguiente->sig=nuevo; 
     }     
     return inicio;
}

void mostrarLista(alumno *inicio){
     alumno *ultimo;
     int i=1;
     if (inicio == NULL)
        printf("\nNO HAY LISTA\n");
     else {
        ultimo=inicio;   
        printf("\n       LISTA");    
    
        printf("\nNum Nombre\t\tMatricula\tPromedio ", i);   
        do{              
           printf("\n %d. %s\t\t\t\t%s\t%g ", i, ultimo->nom, ultimo->mat,ultimo->promG);                  
           ultimo=ultimo->sig;
           i++;
        }while(ultimo != NULL );
     }
}

___Users_alejandro_Desktop_LISTA_lista_h.html
#include <stdio.h>
#include <stdlib.h>



struct estudiante {
    char mat[20];
    char nom[80];
    int edad;
    double promG;
    struct estudiante *sig;    
};


typedef struct estudiante alumno;

void menu();
alumno* insertarEstudiante(alumno *inicio);
void mostrarLista(alumno *inicio);

___Users_alejandro_Desktop_LISTA_lista_c.html
#include "lista.h"

void menu(){
     
     printf("\n1. Insertar estudiante");     
     printf("\n2. Recorrer lista ");       
     printf("\n3. SALIR "); 
}

alumno* leerDatos(alumno *inicio){
     alumno *nuevo; 
     alumno *nodoSiguiente;
     
     nuevo= (alumno *)malloc(sizeof(alumno));
     printf("\n Nombre:"); 
     scanf(" %[^\n]", nuevo->nom);      
     printf(" Matricula:"); 
     scanf(" %[^\n]", nuevo->mat);       
     printf(" Edad:"); 
     scanf("%d", &(nuevo->edad));
     printf(" Prom General:"); 
     scanf("%lf", &(nuevo->promG));
     nuevo->sig=NULL;
     
     if (inicio== NULL){
       inicio= nuevo;
     }  
     else{
        nodoSiguiente=inicio;
        
        while(nodoSiguiente->sig != NULL ){
           nodoSiguiente=nodoSiguiente->sig;                      
        }
        nodoSiguiente->sig=nuevo; 
     }     
     return inicio;
}

void mostrarLista(alumno *inicio){
     alumno *ultimo;
     int i=1;
     if (inicio == NULL)
        printf("\nNO HAY LISTA\n");
     else {
        ultimo=inicio;   
        printf("\n       LISTA");    
    
        printf("\nNum Nombre\t\tMatricula\tPromedio ", i);   
        do{              
           printf("\n %d. %s\t\t\t\t%s\t%g ", i, ultimo->nom, ultimo->mat,ultimo->promG);                  
           ultimo=ultimo->sig;
           i++;
        }while(ultimo != NULL );
     }
}

No hay comentarios:

Publicar un comentario