Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* Lista Simplesmente Encadeada – LSE Implementação * #include <stdlib.h> #include <string.h> #include <iomanip.h> // Tipo de cada elemento da LSE struct LSE{ int c; char s[200]; struct LSE *prox; }*prim, *ult, *aux; // Assinaturas das funções void inclusao(int c, char s[100]); void consulta(int c); void alteracao(int c); void exclusao(int c); * main() { int op=0, c; char s[200]; prim=ult=NULL; while(op!=5){ c=0; cout<<"1-Inclusao\n"; cout<<"2-Consulta\n"; cout<<"3-Alteracao\n"; cout<<"4-Exclusao\n"; cout<<"5-Sair\n"; cin >> op;fflush(stdin); if(op==1){ cout<<"Entre com o codigo:"; cin>>c;fflush(stdin); cout<<"Entre com a descricao:"; gets(s); fflush(stdin); inclusao(c,s); } else if(op==2){ cout<<"Entre com o codigo para a colsulta:\n"; cin>>c; fflush(stdin); consulta(c); } else if(op==3){ cout<<"Entre com o codigo para a Alteracao:\n"; cin>>c; fflush(stdin); alteracao(c); } else if(op==4){ cout<<"Entre com o codigo para a exclusao:\n"; cin>>c; fflush(stdin); exclusao(c); } } } * // Função de Inclusão void inclusao(int c, char s[]) { aux = (struct LSE *) malloc(sizeof(struct LSE)); if(!prim) // É o mesmo que “if(prim==NULL)” prim=aux; else ult->prox=aux; ult=aux; ult->c=c; strcpy(ult->s,s); ult->prox=NULL; cout<<"Inclusao realizada!\n"; } * // Função de Consulta void consulta(int c) { int achei = 0; aux=prim; while(aux && !achei){// É o mesmo que “while(aux!=NULL && achei==0)” if(aux->c==c){ achei=1; cout<<"Descricao:"<<aux->s<<"\n"; } else aux=aux->prox; } if(!achei) cout<<"Codigo inexistente!\n"; } * // Função de Alteração void alteracao(int c) { int achei = 0; aux=prim; while(aux && !achei){ if(aux->c==c){ achei=1; cout<<"Descricao atual:"<<aux->s<<"\n"; cout<<"Entre com a nova descricao:"; gets(aux->s); cout<<"Alteracao realizada!\n"; } else aux=aux->prox; } if(!achei) cout<<"Codigo inexistente!\n"; } * void exclusao(int c) { int achei = 0; aux=prim; struct LSE *aux2; while(aux && !achei){ if(aux->c==c){ if(aux==prim){ if(aux==ult) prim=ult=NULL; //CASO 1 else prim=prim->prox; //CASO 2 } else if(aux==ult){ //CASO 3 ult=aux2; ult->prox=NULL; } else aux2->prox = aux->prox; //CASO 4 achei=1; free(aux); cout<<"Exclusao realizada!\n"; } else { aux2=aux; aux=aux->prox; } } if(!achei) cout<<"Codigo inexistente!\n"; }
Compartilhar