Escolar Documentos
Profissional Documentos
Cultura Documentos
#include <stdio.h>
#include <stdlib.h>
#define MAX 10000
typedef struct {
telem v[MAX];
int n;
}tlista;
int main(){
tlista L;
int cont, pos, tam;
int dado;
char opt;
// a)
criar (&L); //passagem por referência
do{
// d)
printf("\n");
switch (menu()) {
case 49:
tam = tamanho(L);
printf("\nTAMANHO: %d\n", tam);
for (cont = 0; cont < (tam); cont++)
printf("L.v[%d]=%d ",
(cont+1),L.v[cont]);
printf("\n");
break;
case 50:
printf ("\nDigite a posicao: ");
scanf("%d",&pos);
printf ("\nDigite o dado: ");
scanf("%d", &dado);
if(inserir (&L, pos, dado) == 1)
printf ("\nInserido");
else
printf ("\nNão inserido");
break;
case 51:
printf ("\nDigite a posicao: ");
scanf("%d",&pos);
if(remover (&L, pos, &(L.v[pos])) == 1)
printf ("\nRemovido");
else
printf ("\nNao removido");
break;
case 52:
printf ("\nDigite a posicao: ");
scanf("%d",&pos);
if(elemento (L, pos, &(L.v[pos])))
printf("\nElemento da posição escolhida:
%d", L.v[pos]);
break;
case 53:
printf ("\nDigite o dado: ");
scanf("%d", &dado);
printf("Posicao: %d", posicao (L, dado));
break;
case 54:
do {
printf("\nTem certeza que quer esvaziar a
lista? (1 - sim | 0 - nao)");
opt = getch();
if ((opt!='1')&&(opt!='0'))
printf("\nInvalido...\n");
} while ((opt!='1')&&(opt!='0'));
if (opt == '1'){
if (esvaziar(&L))
printf("\nLista esvaziada...\n");
}
break;
case 27:
return 0;
break;
}
do {
printf("\nContinuar? (1 - sim | 0 - nao)");
opt = getch();
if ((opt!='1')&&(opt!='0'))
printf("\nInvalido...\n");
} while ((opt!='1')&&(opt!='0'));
}while(opt==49);
return 0;
}
L->v[pos-1] = dado;
(L->n)++;
return (1);
}
*dado = L->v[pos-1];
(L->n)--;
return (1);
}
// Esvazia a lista
int esvaziar (tlista *L){
(L->n) = 0;
return 1;
}
// Menu
int menu () {
char c;
// b)
printf("\n\n######## EDITOR DE LISTAS ########\n\n");
do {
printf("\n1 - EXIBIR LISTA");
printf("\n2 - INSERIR");
printf("\n3 - REMOVER");
printf("\n4 - EXIBIR ELEMENTO");
printf("\n5 - EXIBIR POSICAO");
printf("\n6 - ESVAZIAR");
printf("\nESC - SAIR\n");
return (int)c;
}