Está en la página 1de 4

#include <stdio.

h>
#include <conio.h>
#include <stdlib.h>
#define ARQ "c:/lista.txt"
#define MODO "a+t"
#define TAMMAX 10

/*
Name: Paulo Faustini Jr
20/11/07 11:01
Description: Lista / Vetor / Arquivo
*/

typedef char cadeia[50];


typedef struct _item Titem;
typedef struct _lista Tlista;

void Inicia_lista(Tlista *fp);


int verifica_lista_vazia(Tlista *fp);
void Insere_Elemento(Tlista *fp, Titem item);
void Elimina_Elemento(Tlista *fp, int chave);
void Imprime_Lista(Tlista *fp);
void Procura_Elemento(Tlista *fp, int chave);
void Menu();

struct _item
{
int chave;
};

struct _lista
{
Titem item[TAMMAX];
int ultimo;
int primeiro;
};

//Prototipação das funções


FILE * AbreArquivo(cadeia path, cadeia modo);

int main( )
{
FILE *fp; //ponteiro para a estrutura do arquivo
printf("**********FaustiniJr**********\n\n\n");
Titem valor;
fp=AbreArquivo(ARQ,MODO);
int cont,num;
int numero;
int resposta;
Tlista minha_lista;
Inicia_lista(&minha_lista);
Menu();
scanf("%d", &resposta);
while (resposta!= 0)
{switch(resposta)
{
case 0: break;
case 1: printf("Digite um numero inteiro: ");
scanf("%d", &valor);
Insere_Elemento(&minha_lista, valor);
break;
case 2: printf("Elementos da lista\n");
Imprime_Lista(&minha_lista);
printf("Digite um numero a ser eliminado da lista: ");
scanf("%d", &numero);
Elimina_Elemento(&minha_lista, numero);
break;
case 3: printf("Imprimindo a lista\n");
Imprime_Lista(&minha_lista);
break;
case 4: printf("Digite um numero a ser pesquisado na lista: ");
scanf("%d", &numero);
Procura_Elemento(&minha_lista, numero);
break;
default: printf("Opcao Invalida!!");
break;
}
Menu();
scanf("%d", &resposta);

system("pause");
}

//Especificação do corpo das funções


FILE*AbreArquivo(cadeia path,cadeia modo)
{
FILE*arq;
arq=fopen(path,modo);
if(arq==NULL)
{
printf("\nO arquivo %s nao pode ser aberto.",path);
getch();
exit(1);
}
return arq;
}

void Menu()
{
system("cls");
printf("1 - Inserir Elemento na Lista\n");
printf("2 - Remover Elemento na Lista\n");
printf("3 - Imprimir a Lista\n");
printf("4 - Buscar Elemento na Lista\n");
printf("0 - Sair\n");
printf("Digite sua opcao: ");
}

void Inicia_lista(Tlista *fp)


{
fp->ultimo = -1;
fp->primeiro = 0;
}

int verifica_lista_vazia(Tlista *fp)


{
if (fp->ultimo == -1)
return(1);
else
return(0);
}

void Insere_Elemento(Tlista *fp, Titem item)


{
if (fp->ultimo + 1 == TAMMAX)
printf("lista cheia\n");
else
{
fp->ultimo++;
fp->item[fp->ultimo] = item;
printf("Elemento %d inserido na posicao %d\n", item, fp->ultimo);
}
system("pause");
}

void Elimina_Elemento(Tlista *fp, int chave)


{
int contador,contador2;
if (verifica_lista_vazia(fp))
printf("erro: Lista vazia");
else
{
contador = 0;
while ((contador<=fp->ultimo) && (chave!=fp->item[contador].chave))
{
contador++;
}
if (contador>fp->ultimo)
printf("Elemento nao existe\n");
else
{
for (contador2=contador; contador2<fp->ultimo;contador2++)
{
fp->item[contador2] = fp->item[contador2+1];
printf("Elemento eliminado!\n");
}
fp->ultimo--;
}
}
system("pause");
}

void Imprime_Lista(Tlista *fp)


{
int aux;
for (aux = fp->primeiro; aux<=fp->ultimo; aux++)
{
printf("%d\n",fp->item[aux].chave);
}
system("pause");
}

void Procura_Elemento(Tlista *fp, int chave)


{
int aux;
aux=0;
while ((aux <= fp->ultimo) && (chave != fp->item[aux].chave))
{
aux++;
}
if (aux > fp->ultimo)
printf("Elemento não existe\n");
else
{
printf("Elemento %d encontrado na lista!\n",fp->item[aux].chave);
}
system("pause");
}

También podría gustarte

  • Eletrodinamica
    Eletrodinamica
    Documento6 páginas
    Eletrodinamica
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Resistores Capacitores Geradores
    Resistores Capacitores Geradores
    Documento19 páginas
    Resistores Capacitores Geradores
    Paulo Faustini Jr
    100% (2)
  • Capitulo 1 Introducao 4PP PDF
    Capitulo 1 Introducao 4PP PDF
    Documento6 páginas
    Capitulo 1 Introducao 4PP PDF
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Arquitetura de PC - Aula 04
    Arquitetura de PC - Aula 04
    Documento63 páginas
    Arquitetura de PC - Aula 04
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Arquitetura de PC - Aula 05
    Arquitetura de PC - Aula 05
    Documento77 páginas
    Arquitetura de PC - Aula 05
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Trabalho de Arquitetura de PC
    Trabalho de Arquitetura de PC
    Documento8 páginas
    Trabalho de Arquitetura de PC
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Organização e Arquitetura de PC
    Organização e Arquitetura de PC
    Documento5 páginas
    Organização e Arquitetura de PC
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Arquitetura de PC - Aula 03
    Arquitetura de PC - Aula 03
    Documento14 páginas
    Arquitetura de PC - Aula 03
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Arquitetura de PC - Aula 02
    Arquitetura de PC - Aula 02
    Documento29 páginas
    Arquitetura de PC - Aula 02
    Paulo Faustini Jr
    Aún no hay calificaciones
  • 3 Exercicio
    3 Exercicio
    Documento1 página
    3 Exercicio
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Plano2008 02 BDI
    Plano2008 02 BDI
    Documento5 páginas
    Plano2008 02 BDI
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Arquitetura de PC - Aula 01
    Arquitetura de PC - Aula 01
    Documento64 páginas
    Arquitetura de PC - Aula 01
    Paulo Faustini Jr
    Aún no hay calificaciones
  • 3 Exercicio
    3 Exercicio
    Documento1 página
    3 Exercicio
    Paulo Faustini Jr
    Aún no hay calificaciones
  • 2 Exercicio
    2 Exercicio
    Documento2 páginas
    2 Exercicio
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Exercicio Revisão
    Exercicio Revisão
    Documento3 páginas
    Exercicio Revisão
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Normalizacao
    Normalizacao
    Documento30 páginas
    Normalizacao
    Paulo Faustini Jr
    100% (1)
  • Mod Rel
    Mod Rel
    Documento61 páginas
    Mod Rel
    Paulo Faustini Jr
    100% (1)
  • Magnetismo
    Magnetismo
    Documento2 páginas
    Magnetismo
    tedkingster
    Aún no hay calificaciones
  • Mer 2
    Mer 2
    Documento23 páginas
    Mer 2
    Paulo Faustini Jr
    100% (1)
  • Apresentacao
    Apresentacao
    Documento5 páginas
    Apresentacao
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Mer 3
    Mer 3
    Documento20 páginas
    Mer 3
    Paulo Faustini Jr
    100% (1)
  • Introducao
    Introducao
    Documento60 páginas
    Introducao
    Paulo Faustini Jr
    100% (2)
  • Mer
    Mer
    Documento47 páginas
    Mer
    Paulo Faustini Jr
    100% (9)
  • Capacitor Es
    Capacitor Es
    Documento9 páginas
    Capacitor Es
    sebastiao007
    Aún no hay calificaciones
  • Geradores
    Geradores
    Documento2 páginas
    Geradores
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Eletrostatica
    Eletrostatica
    Documento21 páginas
    Eletrostatica
    Paulo Faustini Jr
    100% (6)
  • Exemplo TAD Pilha Fila
    Exemplo TAD Pilha Fila
    Documento7 páginas
    Exemplo TAD Pilha Fila
    Paulo Faustini Jr
    100% (4)
  • Exercício (1)
    Exercício (1)
    Documento7 páginas
    Exercício (1)
    Paulo Faustini Jr
    Aún no hay calificaciones
  • Formulas Eletricidade
    Formulas Eletricidade
    Documento1 página
    Formulas Eletricidade
    Paulo Faustini Jr
    100% (1)
  • Lista Vetor Arq
    Lista Vetor Arq
    Documento3 páginas
    Lista Vetor Arq
    Paulo Faustini Jr
    Aún no hay calificaciones