# # # # # #

include <stdio.h> include <stdlib.h> include <string.h> include <ctype.h> define filas 10 define columnas 20

//FUNCIONES PRINCIPALES int main_pilas(); int main_colas(); int main() { int t=0; while(t==0) { system("cls"); printf("MENU PRINCIPAL DE ENTIDADES DE ALMACENAMIENTO DE DATOS\n\n"); printf("\n\t\Por Favor Solo Ingresar Numeros\n\n"); printf("\n\t\t1.PILAS\n"); printf("\t\t2.COLAS\n"); printf("\t\t3.SALIR\n\t\tOPCION=\t"); scanf("%i",&t); switch(t) { case 1:main_pilas();t=0; break; case 2:main_colas();t=0; break; case 3:t!=0; break; default:t=0; } } system("pause"); return 0; } //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// //----------------------------------PILAS-----------------------------------------// //variables a usar typedef struct { int n_elementos; char palabras[filas][columnas]; } PILA; PILA pila_de_nombres; int l=0, k;

printf("\t\t\n1. void inserta_pila(PILA *pila_funcion. }while(isalpha(string)). //funciones a usar void inicializa_pila(PILA *pila_funcion).MOSTRAR TODOS LOS ELEMENTOS EN LA PILA"). l=0.char string. system("pause"). scanf("%i".DETERMINAR SI LA PILA ESTA LLENA"). void mostrar_pila(PILA *pila_funcion). void pila_llena(PILA *pila_funcion).ELIMINA UN ELEMENTO DE LA PILA"). case 3: { . switch(l) { case 1: { printf("\n\nteclea el elemento: "). void tope_pila(PILA *pila_funcion).DETERMINAR SI LA PILA ESTA VACIA").&l). printf("\n\t\tMENU DE PILAS\n"). printf("\t\t\n5. printf("\n\tPor Favor Solo Ingresar Numeros \n\tOPCION=\t"). void elimina_pila(PILA *pila_funcion). } break.INSERTAR UN ELEMENTO EN PILA DE MAXIMO DE 10 ELEMENTOS"). inserta_pila(&pila_de_nombres. do{ scanf("%s". system("pause"). printf("\t\t\n7. } break. void pila_vacia(PILA *pila_funcion). printf("\t\t\n2. &string). char * cadena).&string). //funcion principal int main_pilas() { l=0. printf("\t\t\n4. printf("\t\t\n6. printf("\t\t\n3. inicializa_pila(&pila_de_nombres).SALIR\n\t"). while(l==0) { system("cls"). case 2: { mostrar_pila(&pila_de_nombres).DETERMINAR CUAL ES EL ELEMENTO TOPE DE LA PILA"). l=0.

} //INICIALIZAR O BLANQUEAR LA CANTIDAD DE ELEMENTOS DE LA PILA void inicializa_pila(PILA *pila_funcion) { pila_funcion->n_elementos=0. l=0. l=0. } //INSERTAR UN ELEMENTO EN LA PILA void inserta_pila(PILA *pila_funcion. LA PILA ESTA LLENA"). system ("pause"). char * cadena) { if(pila_funcion==NULL) printf("LA PILA NO EXISTE"). } break. l=0.elimina_pila(&pila_de_nombres). system("pause"). system("pause"). case 7: { printf("\n\nSE HAN PERDIDO LOS DATOS CONTENIDOS EN LA ESTRUCTURA\n\n\t"). if(pila_funcion->n_elementos==filas) printf("NO SE PUDO INSERTAR EL ELEMENTO. } break. case 6: { pila_llena(&pila_de_nombres). system("pause"). case 5: { pila_vacia(&pila_de_nombres). . default: l=0. } break. case 4: { tope_pila(&pila_de_nombres). l!=0. } break. } } return 0.cadena). system("pause"). else { strcpy(pila_funcion->palabras[pila_funcion>n_elementos]. } break. l=0.

k+1. else { for(k=0. } } //MOSTRAR TODOS LOS ELEMENTOS DE LA PILA void mostrar_pila(PILA *pila_funcion) { if(pila_funcion==NULL) printf("LA PILA NO EXISTE"). else printf("LA PILA NO ESTA LLENA"). } } //MUESTRA EL ELEMENTO TOPE DE LA PILA void tope_pila(PILA *pila_funcion) { if(pila_funcion==NULL) printf("LA PILA NO EXISTE"). if(pila_funcion->n_elementos==0) printf("LA PILA ESTA VACIA"). else { printf("EL ELEMENTO TOPE ES: %s". } } } //ELIMINAR UN ELEMENTO DE LA PILA void elimina_pila(PILA *pila_funcion) { if(pila_funcion==NULL) printf("LA PILA NO EXISTE"). } //--------------------------------------------------------------------------------// . if(pila_funcion->n_elementos==0) printf("LA PILA ESTA VACIA").pila_funcion>palabras[pila_funcion->n_elementos-1]). } } //DETERMINA SU LA PILA ESTA VACIA void pila_vacia(PILA *pila_funcion) { if(pila_funcion->n_elementos==0) printf("LA PILA ESTA VACIA").pila_funcion->n_elementos++.pila_funcion->palabras[k]). } // DETERMINA SI LA PILA ESTA LLENA void pila_llena(PILA *pila_funcion) { if(pila_funcion->n_elementos==filas) printf("LA PILA ESTA LLENA"). else { pila_funcion->n_elementos--. else printf("LA PILA NO ESTA VACIA"). k++) { printf("%i %s\n". k<pila_funcion->n_elementos. if(pila_funcion->n_elementos==0) printf("LA PILA ESTA VACIA").

printf("\t\t\n2.MOSTRAR TODOS LOS ELEMENTOS EN COLA"). void mostrar_cola(COLA *cola_funcion). printf("\t\t\n4. printf("\t\t\n5. system ("pause"). d=0.SALIR\n\t"). switch(d) { case 1: { printf("\n\nteclea el elemento: "). //funcion principal int main_colas() { d=0. void frente_cola(COLA *cola_funcion). printf("\t\t\n1. int ultimo. //funciones a usar void inicializar_cola(COLA *cola_funcion).DETERMINAR SI LA COLA ESTA VACIA"). void eliminar_cola(COLA *cola_funcion). &name).ELIMINA UN ELEMENTO DE LA COLA"). char elementos[filas][columnas]. }while(isalpha(string)).MOSTRAR EL ELEMENTO AL FRENTE DE LA COLA"). } break. inicializar_cola(&nombres). void es_vacia_cola(COLA *cola_funcion). printf("\t\t\n7. char name.&name). j.DETERMINAR SI LA COLA ESTA LLENA"). }COLA. while(d==0) { system("cls"). insertar_cola(&nombres. void esta_llena_cola(COLA *cola_funcion).&d). COLA nombres. printf("\n\tPor Favor Solo Ingresar Numeros \n\tOPCION=\t").INSERTAR UN ELEMENTO EN COLA DE MAXIMO DE 10 ELEMENTOS"). void insertar_cola(COLA *cola_funcion. int d=0.//--------------------------------------------------------------------------------// //----------------------------------COLAS-----------------------------------------// //variables a usar typedef struct { int primero. . scanf("%i". do{ scanf("%s". printf("\t\t\n3. char *cadena). printf("\t\t\n6. printf("\t\tMENU DE COLAS\n").

d=0. } break. system ("pause").case 2: { mostrar_cola(&nombres). case 6: { esta_llena_cola(&nombres). } break. } } return 0. system ("pause"). d=0. system ("pause"). d!=0. default: d==0. d=0. } break. case 5: { es_vacia_cola(&nombres). case 7: { printf("\n\nSE HAN PERDIDO LOS DATOS CONTENIDOS EN LA ESTRUCTURA\n\n\t"). d=0. } break. case 3: { eliminar_cola(&nombres). case 4: { frente_cola(&nombres). } break. } break. } . d=0. cola_funcion->ultimo=-1. } //inicializa a vacia la cola void inicializar_cola(COLA *cola_funcion) { cola_funcion->primero=0. system ("pause"). system ("pause"). system ("pause").

LA COLA ESTA VACIA\n"). else { printf("EL ELEMENTO AL FRENTE ES: %s\n".cola_funcion>elementos[j+1]). LA COLA ESTA VACIA").j++) { strcpy(cola_funcion->elementos[j]. LA COLA ESTA VACIA\n"). char *cadena) { if(cola_funcion->ultimo==filas-1) printf("NO SE PUDO INSERTAR EL ELEMENTO. } cola_funcion->ultimo--. else { cola_funcion->ultimo++.cadena).//inserta un elemento en el final de la cola void insertar_cola(COLA *cola_funcion. else { for(j=0.cola_funcion->elementos[j]). } } //muestra todos los elementos presentes en la cola void mostrar_cola(COLA *cola_funcion) { if(cola_funcion->ultimo==-1) printf("NO SE PUDO IMPRIMIR NADA. strcpy(cola_funcion->elementos[cola_funcion->ultimo]. } } //determina si la cola esta vacia void es_vacia_cola(COLA *cola_funcion) { if(cola_funcion->ultimo==-1) printf("LA COLA ESTA VACIA"). } } } //elimina el elemento al frente en la cola void eliminar_cola(COLA *cola_funcion) { if(cola_funcion->ultimo==-1) printf("NO SE PUDO ELIMINAR NADA. cola_funcion>elementos[cola_funcion->primero]). j++) { printf("%s\n". .j<cola_funcion->ultimo. } } //muestra por pantalla el elemento al frente en la cola void frente_cola(COLA *cola_funcion) { if(cola_funcion->ultimo==-1) printf("NO HAY ELEMENTO AL FRENTE. LA COLA ESTA LLENA"). else { for(j=0. j<=cola_funcion->ultimo.

} .else printf("LA COLA NO ESTA VACIA"). else printf("LA COLA NO ESTA LLENA"). } //determina si la cola esta llena void esta_llena_cola(COLA *cola_funcion) { if(cola_funcion->ultimo==filas-1) printf("LA COLA ESTA LLENA").

Sign up to vote on this title
UsefulNot useful