Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #define TAMANHO 5 void adicionar(char *valor); int quantidadeElementos(); char *buscarPorIndice(int indice); int buscarPorValor(char *valor); void excluir(char *valor); void ordenar(); void expandir(); void menu(); int posicao = 0; char lista[TAMANHO][20]; int opcao; char texto[20]; int indice; int main() { opcao = 0; while(opcao !=7) { menu(); switch(opcao) { case 1: printf("Digite o texto: "); scanf("%s", texto); adicionar(texto); break; case 2: printf("A lista possui %d elementos.\n", quantidadeElementos()); break; case 3: printf("Digite o indice: "); scanf("%d", &indice); strcpy(texto, buscarPorIndice(indice)); if(strcmp(texto, "") == 0) printf("Indice invalido!\n"); else printf("Valor encontrado no indice %d = %s\n", indice, texto); break; case 4: printf("Digite o texto: "); scanf("%s", texto); indice = buscarPorValor(texto); if(indice == -1) printf("Nao encontrei %s na lista!\n", texto); else printf("Encontrei o texto %s no indice %d\n", texto, indice); break; case 5: printf("Digite o texto para excluir: "); scanf("%s", texto); excluir(texto); break; case 6: printf("Ordenando...\n"); ordenar(); break; } } } void menu() { printf("1 - Adicionar\n"); printf("2 - Quantidade de Elementos\n"); printf("3 - Buscar por Indice\n"); printf("4 - Buscar por Valor\n"); printf("5 - Excluir\n"); printf("6 - Ordenar\n"); printf("7 - Sair\n"); printf("Digite a sua opcao: "); scanf("%d", &opcao); } void adicionar(char *valor) { if(posicao < TAMANHO) { strcpy(lista[posicao], valor); posicao++; } else printf("Lista cheia!\n"); } int quantidadeElementos() { return posicao; } char *buscarPorIndice(int indice) { if(indice >= 0 && indice < posicao) return lista[indice]; else return ""; } int buscarPorValor(char *valor) { int i = 0; for(i = 0; i < posicao; i++) if(strcmp(lista[i], valor) == 0) return i; return -1; } void excluir(char *valor) { int i = 0; i = buscarPorValor(valor); if(i != -1) { for(; i < posicao - 1; i++) strcpy(lista[i], lista[i + 1]); posicao--; } else printf("Nao encontrei %s na lista!\n", valor); } void ordenar() { int i = 0; int j = 0; char aux[20]; for(i = 0; i < (posicao -1); i++) { for(j = i + 1; j < posicao; j++) { if(strcmp(lista[i], lista[j]) > 0) { strcpy(aux, lista[i]); strcpy(lista[i], lista[j]); strcpy(lista[j], aux); } } } }
Compartilhar