void ColocaIndice(TipoLista *Lista){ ApontadorLista aux; int i=1; if (TesteListaVazia(*Lista)){ return; } aux = Lista->Primeiro->Prox; while (aux != NULL){ aux->Indice=i; aux = aux->Prox; i++; } }
void ImprimeLista(TipoLista Lista){ Apontador aux; int p=0; if(TesteListaVazia(Lista) == 1){ printf("\n\n Erro: Vazia!\n\n"); return; } aux=Lista.primeiro->prox; while(aux != NULL){ printf("\n%d \tCodigo do produto: %d\n",p ,aux->item.cod); printf("\tNome do produto: %s\n",aux->item.nome); printf("\tValor:R$ %.2f\n", aux->item.valor); printf("\tFabricante: %s\n",aux->item.fabri); printf("\tEm estoque: %d\n",aux->item.quantidade); p++; aux=aux->prox; } }
void RetiraL(int w, TipoLista *Lista, TipoItem *item){ Apontador q,Aux; Aux = Lista->primeiro; q = Aux->prox; if(TesteListaVazia(*Lista)==1){ printf("Erro: Lista vazia ou posicao nao existe \n"); return; } while(q != NULL){ if(q->item.cod==w){ *item = q->item; Aux->prox=q->prox; if(Aux->prox==NULL){ Lista->ultimo=Aux; } free(q); return; } q=q->prox; Aux = Aux->prox; } }
int Verificar(int z, TipoLista Lista){ Apontador Aux; int i=0; Aux=Lista.primeiro->prox; if(TesteListaVazia(Lista)==1){ printf("Erro:Lista vazia!\n"); system("pause"); return(0); } while(Aux!=NULL){ if(Aux->item.cod==z){ printf("\n\tNumero encontrado\n"); printf("Posicao: %d\n\n",i); system("pause"); return(1); } Aux=Aux->prox; i++; } printf("\n\tNumero nao encontrado\n"); system("pause"); return(0); }
//=========================FUNÇÃO PRINCIPAL=================================== int main(){ system("title Controle De Estoque 2011"); system("color 0f"); int op,z,d,i,k; char resp,c; TipoItem item; TipoLista Lista; ApontadorNo Arvore_cod; IniciarLista(&Lista); Inicializa(&Arvore_cod); i=0; do{ menu(); scanf("%d",&op); system("cls"); if(op==1){ do{ printf("\t\tGERENCIAMENTO DE ESTOQUE\n\n\tINCLUSAO DE NOVO CADASTRO\n\n"); fflush(stdin); printf("Digite o codigo do produto: "); scanf("%d",&item.cod); printf("\nDigite o nome do produto: "); fflush(stdin); gets(&item.nome[i]); printf("\nDigite o valor: "); fflush(stdin); scanf("%f",&item.valor); printf("\nDigite o fabricante: "); fflush(stdin); gets(&item.fabri[i]); printf("\nDigite a quantidade: "); fflush(stdin); scanf("%d",&item.quantidade); InserirCelula(&Lista,item); printf("\n\tDeseja digita novamente? (S/N).:"); fflush(stdin); Insere(item,&Arvore_cod); scanf("%c",&resp); system("cls"); }while(resp=='s'); system("cls"); } if(op==2){ printf("\t\t\tESTOQUE\n"); ImprimeLista(Lista); system("pause"); system("cls"); } if(op==3){ if(TesteListaVazia(Lista)){ ImprimeLista(Lista); system("pause"); system("cls"); } else{ ImprimeLista(Lista); do{ printf("\n\tQual deseja remover.:"); scanf("%d",&k); if(Verificar(k,Lista)==1){ fflush(stdin); RetiraL(k,&Lista,&item); fflush(stdin); Retira(item, &Arvore_cod); fflush(stdin); printf("\n\tDeseja Remover novamente? (S/N).:"); fflush(stdin); scanf("%c",&resp); } }while(resp=='s'); system("pause"); system("cls"); } } if(op==4){ if(TesteListaVazia(Lista)){ ImprimeLista(Lista); system("pause"); system("cls"); } else{ printf("\t\tOrdenado por valor\n"); d=Tamanho(Lista); QuickSortLista(&Lista,d); ImprimeLista(Lista); system("pause"); system("cls"); } } if(op==5){ if(TesteListaVazia(Lista)){ ImprimeLista(Lista); system("pause"); system("cls"); } else{ printf("\n\n\n Digite o codigo que deseja encontrar: "); scanf("%d", &item.cod); fflush(stdin); Pesquisa(&item, &Arvore_cod, item.quantidade); printf("\n"); system("pause"); } system("cls"); } if(op==6){ } if(op==7){ } if(op==8){ } if(op==9){ } if(op<1||op>10){ system("color 4f"); printf("\tOpcao Invalida\n"); system("pause"); system("cls"); system("color 0f"); } else if(op==10){ exit(1); } }while(op>0||op<10); }