void escolhe(node* Lista, int resposta) { switch(resposta) { case 0: esvaziaLista(Lista); break; case 1: exibeLista(Lista); break; case 2: novoComeco(Lista); break; case 3: novoFinal(Lista); break; case 4: removePrimeiro(Lista); break; case 5: removeUltimo(Lista); break; case 6: novaPosicao(Lista); break; case 7: removePosicao(Lista); break; case 8: criaLista(Lista); break; default: puts("\nOpção inválida! Verifique novamente as opções apresentadas."); } }
void removePosicao(node* Lista) { if(vazia(Lista)) puts("\nA lista está vazia! Adicione um item usando as outras opções antes."); else { node* tmp = (node*)malloc(sizeof(node)); if(!tmp) { puts("\nNão há memória suficiente!"); exit(1); } else { node* tmp = Lista->prox; int indice = 0, resposta; while(tmp->prox != NULL) { tmp = tmp->prox; indice++; } printf("\nInsira a posição: "); scanf("%d", &resposta); if(resposta > indice || resposta < 0) puts("\nA lista não tem esse comprimento!"); else { if(resposta == 0) removePrimeiro(Lista); else { indice = 0; node* atual = Lista->prox; node* anterior = Lista; while(indice < resposta) { anterior = atual; atual = atual->prox; indice++; } anterior->prox = atual->prox; } } } } }
void escolhe(int resposta, node* Fila) { switch(resposta) { case 0: limpaFila(Fila); break; case 1: exibeFila(Fila); break; case 2: novoFinal(Fila); break; case 3: removePrimeiro(Fila); break; case 4: criaFila(Fila); break; default: puts("\nOpção inválida! Verifique novamente as opções apresentadas."); } }
int main(){ struct no *inicio, *p;// Ponteiros para tipos struct no int i, opcao, elemento; // Inicializando o ponteiro com o valor NULL inicio = NULL; // do { system("cls"); printf("==================================================================\n"); printf(" \t\tESCOLHA A OPCAO:"); printf("\n=================================================================="); printf("\n\n 1 - Adicionar elemento"); printf("\n------------------------------------------------------------------"); printf("\n 2 - Mostrar elementos"); printf("\n------------------------------------------------------------------"); printf("\n 3 - Liberar memoria"); printf("\n------------------------------------------------------------------"); printf("\n 4 - Mostrar a quantidade de elementos"); printf("\n------------------------------------------------------------------"); printf("\n 5 - Mostrar a media"); printf("\n------------------------------------------------------------------"); printf("\n 6 - Adicionar elemento no final"); printf("\n------------------------------------------------------------------"); printf("\n 7 - Buscar Elemento"); printf("\n------------------------------------------------------------------"); printf("\n 8 - Apagar Elemento"); printf("\n------------------------------------------------------------------"); printf("\n 9 - Apagar o Ultimo Elemento"); printf("\n------------------------------------------------------------------"); printf("\n 10 - Apagar o Primeiro Elemento"); printf("\n------------------------------------------------------------------"); printf("\n 11 - Inserir Elemento no meio"); printf("\n------------------------------------------------------------------"); printf("\n 0 - Sair \n\n -> "); scanf("%d", &opcao); // switch (opcao){ case 0: printf("\n O programa sera encerrado"); break; case 1: printf("Entre com o elemento\n"); scanf("%d", &elemento); inserir_inicio(&inicio, elemento); break; case 2: mostra(inicio); break; case 3: liberaMemoria(&inicio); break; case 4: printf(" %d elementos", contar(inicio)); getch(); break; case 5: printf(" Media: %.f", media(inicio)); getch(); break; case 6: printf("Entre com o elemento\n"); scanf("%d", &elemento); inserirNoFinal(&inicio, elemento); printf("\t Inserido \n"); getch(); break; case 7: printf("Entre com o elemento\n"); scanf("%d", &elemento); printf(" %d", buscar(inicio, elemento)); getch(); break; case 8: printf("Entre com o elemento\n"); scanf("%d", &elemento); apagarElemento(&inicio, elemento); getch(); break; case 9: if (inicio == NULL) { printf("\n A lista esta vazia"); } else { printf("Elemento lemento %d removido.\n", removeUltimo(&inicio)); } getch(); break; case 10: if (inicio == NULL) { printf("\n A lista esta vazia"); } else { printf("Elemento lemento %d removido.\n", removePrimeiro(&inicio)); } getch(); break; case 11: printf("Entre com o elemento\n"); scanf("%d", &elemento); inserirNoMeio(&inicio, elemento); printf("\t Inserido \n"); getch(); break; default: printf("\n\n Opcao invalida!!"); getch(); break; } } while(opcao != 0); printf("\n"); getch(); return 0; }