1) Faça um programa em C, que: a) crie uma lista sequencial do tipo t_lista com 50 elementos; B) exiba o seguinte menu de opções: EDITOR DE LISTAS 1 – EXIBIR LISTA 2 – INSERIR PELA POSICAO 3 – REMOVER PELA POSICAO 4 – EXIBIR ELEMENTO 5 – EXIBIR POSIÇÃO 6 – ESVAZIAR 7 – SAIR DIGITE SUA OPÇÃO: c) leia a opção do usuário; d) execute a opção escolhida pelo usuário; e) implemente a estrutura de dados lista, com implementação sequencial e utilizando como o elemento uma outra estrutura contendo dados simples, como números ou nomes. A lista deve conter apenas as operações básicas de listas (criar, isVazia, isCheia, tamanho, getElemento, getPosicao, inserir, remover); f) na opção de exibir lista, devem ser exibidos o tamanho da lista e os seus elementos; g) na opção de inserção, deve ser lido o valor do elemento a ser inserido e a posição onde será efetuada a inserção; h) na opção de remoção, deve ser lido a posição do elemento a ser removido; i) na opção de exibir elemento, deve ser lido a posição do elemento; j) na opção de exibir posição, deve ser lido o valor do elemento; k) as operações de exibir e esvaziar a lista devem estar inseridas no programa principal; l) após a execução de cada opção, o programa deve retornar ao menu para nova opção do usuário ou o encerramento do programa.  O código que eu escrevi está parte feito, mas não sei mais o que está faltando. O código que eu fiz foi esse:  #include <stdio.h> #include <stdlib.h>  // tamanho máximo da lista #define MAX 10  // Tipo base dos elementos da lista  typedef struct elementos {         char nome[50];         char tel[50];         struct elementos *ptr; 	    int x;	 } t_elemento;  // Estrutura da lista typedef struct { 	t_elemento vetor[MAX]; // vetor que contém a lista 	int n; // posição do ultimo elemento da lista } t_lista; // tipo lista    t_lista * criar() { 	t_lista * lista = (t_lista*) malloc(sizeof(t_lista));  	if (lista) 		lista->n = -1;  	return lista; } void isVazia(t_lista * lista) {  int isVazia(t_lista * lista) { 	return (lista->n == -1);     } }   int isCheia(t_lista * lista) { 	return (lista->n == MAX-1);     }   int tamanho(t_lista * lista) { 	return lista->n + 1; }  t_elemento * geElemento(t_lista * lista, int pos) { 	// Retorna 0 se a posição for inválida. Caso contrário, retorna o elemento  	// verifica se pos é valida 	if ( (pos > lista->n) || (pos < 0) ) 		return 0; 	return &(lista->vetor[pos]); }  int compara(t_elemento * dado1, t_elemento * dado2) { 	if (dado1->x == dado2->x) 	{ 		return 1; 	}  	return 0; }  int getPosicao(t_lista * lista, t_elemento * dado) { 	// Retorna a posição do elemento, ou 0 caso não seja encontrado 	int i; 	for (i=0; i<=lista->n; i++) 		if (compara(&(lista->vetor), dado)) 			return i;  	return 0; }  // desloca os elementos da lista para a direita a partir de pos int deslocaDireita(t_lista * lista, int pos) { 	// Retorna 0 se a posição for inválida ou se a lista estiver cheia 	// Caso contrário, retorna 1 	int i;  	if (pos > lista->n) 		return 0;  	for (i=lista->n + 1; i>pos; i--) 		lista->vetor = lista->vetor[i-1];  	return 1; }  // desloca os elementos da lista para a esquerda a partir de pos int deslocaEsquerda(t_lista * lista, int pos) { 	// Retorna 0 se a posição for inválida ou se a lista estiver cheia 	// Caso contrário, retorna 1 	int i;  	if (pos > lista->n) 		return 0;  	for (i=pos; i<=(lista->n); i++) 		lista->vetor = lista->vetor[i+1];  	return 1; }  void inserir(t_lista * lista, int pos, t_elemento * dado) {  int inserir (t_lista * lista, int pos, t_elemento * dado) { 	// Retorna 0 se a posição for inválida ou se a lista estiver cheia 	// Caso contrário, retorna 1 	if ( isCheia(lista) || (pos > lista->n + 1) ) 		return 0;  	deslocaDireita(lista, pos); 	lista->vetor[pos] = *dado; 	(lista->n)++; 	return 1;     } }  int remover (t_lista *lista, int pos) { 	// O parâmetro dado irá receber o elemento encontrado 	// Retorna 0 se a posição for inválida. Caso contrário, retorna 1 	if ( (pos > lista->n) || (pos < 0) ) 		return 0;  	deslocaEsquerda(lista, pos);  	(lista->n)--; 	return 1; }  int main () {  //  programa principal     int opcao;     t_lista * lista;      printf("EDITOR DE LISTAS\n"); 	printf("1- EXIBIR LISTA\n"); 	printf("2- INSERIR PELA POSICAO\n"); 	printf("3- REMOVER PELA POSICAO\n"); 	printf("4- EXIBIR ELEMENTO\n"); 	printf("5- EXIBIR POSIÇÃO\n"); 	printf("6- ESVAZIAR\n"); 	printf("7- SAIR\n"); 	printf("DIGITE SUA OPÇÃO:\n"); 	scanf("%d", &opcao); 	 	inserir(lista);         remover(lista);         getchar; 	getchar; }  Por favor me ajudem não sei mais o que eu posso fazer.