Include

Páginas: 5 (1003 palabras) Publicado: 26 de abril de 2016
#include
#include
#include
 
typedef struct ElementoLista{
    char * dato;
    struct ElementoLista *siguiente;
}Elemento;
 
typedef struct ListaIdentificar{
    Elemento *inicio;
    Elemento *fin;
    int tamano;
}Lista;
 
/*inicializa la lista*/
void incializacion(Lista *lista);
/*En caso de error devuelve -1 sino 0*/
int InsercionEnListaVacia(Lista *lista,char *dato);
/*insertar en inicio de la lista*/
int InsercionInicioLista(Lista *lista, char *dato); 
/*insertar en fin de la lista*/
int InsercionFinLista(Lista *lista, Elemento *actual, char *dato);
/*insertar en X posicion de la lista*/
int InsercionLista (Lista *lista, char *dato, int pos);
/*elimina un elemento al inicio de una lista*/
int EliminarInicio(Lista *lista);
/*suprimir unelemento de una X posicion*/
int EliminarEnLista(Lista *lista, int pos);
 /*muestra la lista entera*/
void visualizacion(Lista *lista);
/* destruir la lista */
void destruir(Lista * lista);
/* funcion menu */
int menu(Lista *lista,int *k);
//Una lista enlazada sin ningun elemento se llama lista vacía.
//Su puntero inicial tiene el valor NULL
//Si un la lista es de 1 solo elemento, el campo siguienteapunta a NULL
int main()
{
    char eleccion;
    char *nom;
    Lista *lista;
    Elemento *actual;
 
    if ((lista = (Lista *) malloc (sizeof (Lista))) == NULL)
        return -1;
    if ((nom = (char *) malloc (50)) == NULL)
        return -1;
    actual = NULL;
    eleccion = 'o';
 
    incializacion(lista);
    int k, pos;
 
    while (eleccion!= 7){
      eleccion = menu (lista, &k);      switch (eleccion){
        case 1:
          printf ("Ingrese un elemento : ");
          scanf ("%s", nom);
          getchar ();
          if (lista->tamano == 0)
            InsercionEnListaVacia (lista, nom);
          else
            InsercionInicioLista (lista, nom);
          printf ("%d elementos:ini=%s,fin=%s\n", lista->tamano,
                  lista->inicio->dato, lista->fin->dato);          visualizacion(lista);
          break;
        case 2:
          printf ("Ingrese un elemento: ");
          scanf ("%s", nom);
          getchar ();
          InsercionFinLista (lista, lista->fin, nom);
          printf ("%d elementos:ini=%s,fin=%s\n", lista->tamano,
                  lista->inicio->dato, lista->fin->dato);
          visualizacion(lista);
          printf("\n");
          break;        case 3:
          printf ("Ingrese un elemento: ");
          scanf ("%s", nom);
          getchar ();
          do{
              printf ("Ingrese la posicion: ");
              scanf ("%d", &pos);
     }
          while (pos < 1 || pos > lista->tamano);
          getchar ();
          if (lista->tamano == 1 || pos == lista->tamano){
              k = 1;              printf("-----------------------------------------------\n");
              printf("!Error, posicion erronea u ocupado !\n");
              printf("-----------------------------------------------\n");
              break;
     }
          InsercionLista (lista, nom, pos);
          printf ("%d elementos:ini=%s,fin=%s\n", lista->tamano,
                  lista->inicio->dato, lista->fin->dato);
          visualizacion(lista);          break;
        case 4:
          EliminarInicio (lista);
          if (lista->tamano != 0)
            printf ("%d elementos:ini=%s,fin=%s\n", lista->tamano,
                    lista->inicio->dato, lista->fin->dato);
          else
            printf ("lista vacia\n");
          visualizacion (lista);
          break;
        case 5:
          do{
              printf ("Ingrese la posicion : ");              scanf ("%d", &pos);
     }
          while (pos < 1 || pos > lista->tamano);
          getchar ();
          EliminarEnLista (lista, pos);
          if (lista->tamano != 0)
            printf ("%d elementos:ini=%s,fin=%s\n", lista->tamano,
                    lista->inicio->dato, lista->fin->dato);
          else
            printf ("lista vacia\n");...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • INCLUDE
  • Include
  • include
  • Include
  • include
  • Include y extend
  • Estratgias include
  • Ph-Includes

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS