Você está na página 1de 5

#include"lista.

h" no *p, *aux, *y; int cont = 0; void inserir() { int valor; system("clear"); cout << "\nPeso em kg: "; cin >> valor; if (cont == 0) { p = new no; aux = p; aux->info.peso = valor; aux->ant = NULL; aux->prox = NULL; cont++; } else { while((aux->prox!=NULL) && (valor > aux->prox->info.peso )) { aux = aux->prox; } aux->prox->ant = new no; aux->prox->ant->ant = aux; aux->prox->ant->prox = aux->prox; aux->prox = aux->prox->ant; aux = aux->prox; aux->info.peso = valor; cont++; } cout << "\nNome do destinario: "; cin.ignore(); cin.getline(aux->info.destinario,sizeof(aux->info.destinario));

cout << "\nNome do remetente: "; cin.ignore(); cin.getline(aux->info.remetente,sizeof(aux->info.remetente)); cout << "\nCEP: "; cin >> aux->info.cep; } void imprimir() { aux = p; system("clear"); if(cont == 0) cout << "Nao ha encomenda cadastrada!"; else { cout << "\nEncomendas cadastradas: "; while(aux != NULL) { cout << "\nNome do destinario: "<<aux->info.destinario; cout << "\nNome do remetente: "<<aux->info.remetente; cout << "\nCEP: "<<aux->info.cep; cout << "\nPeso: "<<aux->info.peso<<" Kg"; break; } cout<<"\n\nQuantidade de encomendas cadastradas: "<<cont<<endl<<endl; } } void remover () { aux = p; system("clear"); if (cont == 0) cout << "Nao ha encomenda cadastrada!";

else { int flag = 1, i = 1; char pesq[100]; cout << "\nInforme o nome do remetente: "; cin.ignore(); cin.getline(pesq,sizeof(pesq)); while (aux != NULL) { if (i == 1) { if (strcmp(aux->info.remetente,pesq) == 0 ) { p = p->prox; delete(aux); flag++; break; } else { aux = aux->prox; y = p; } i++; } else { if (strcmp(aux->info.remetente,pesq) == 0 ) { y->prox = aux->prox; delete(aux); flag++; break; } else { aux = aux->prox; y = y->prox; } }

} system("clear"); if(flag == 1) cout << "\nRemetente nao cadastrado!\n\n"; else { cout << "\nEncomenda removida com sucesso!!!\n\n"; cont--; } } } void pesquisar() { aux = p; system("clear"); if (cont == 0) cout << "Nao ha encomenda cadastrada!"; else { int flag = 1, i = 1; char pesq[100]; cout << "\nInforme o nome do destinario: "; cin.ignore(); cin.getline(pesq,sizeof(pesq)); while (aux != NULL) { if (strcmp(aux->info.destinario,pesq) == 0 ) { cout <<"Informocoes sobre a encomenda: "<<endl; cout << "\nNome do destinario: "<<aux->info.destinario; cout << "\nNome do remetente: "<<aux->info.remetente; cout << "\nCEP: "<<aux->info.cep; cout << "\nPeso: "<<aux->info.peso<<" Kg";

flag++; break; } else aux = aux->prox; i++; } if (flag == 1) cout << "\nDestinario nao encontrado!\n\n"; } }

Você também pode gostar