Baiano88 Postado Dezembro 4, 2015 Denunciar Share Postado Dezembro 4, 2015 Olá não estou conseguindo fazer com que apresente os dos veículos Km na hora de exibir, alguém poderia me explicar como ? tai o código em C++ #include<cstdlib>#include<iostream>using namespace std; struct frota { string modelo; string placa; float km_viagem_total,viagem;};struct lista{ frota dado; lista *link;}; lista *inicia_lista(){ return NULL;}char menu(){ char op; system("cls"); cout<< " ESTRUTURA DE DADOS "<<endl<<endl; cout << "1 - Cadastrar veiculo " << endl; cout << "2 - Registro de viagem em KM" << endl; cout << "3 - Excluir veiculo" << endl; cout << "4 - Exibir lista de veiculo ordem crescente " << endl; cout << "0 - Sair" << endl; cout << " "<<endl; cout << "Opcao: "; cin >> op; return op;}bool lista_vazia(lista *l){ if (l == NULL) return true; else return false;} lista *incluir(lista *l, string elemento, char msg){ lista *n, *p; n = new lista; n->dado.placa = elemento; n->link = NULL; if (lista_vazia(l) == true) l = n; else { if (elemento< l->dado.placa) { n->link = l; l = n; } else { p = l; while (p->link != NULL and p->link->dado.placa < elemento) p = p->link; n->link = p->link; p->link = n; } } if (msg == 'S') { cout << "Veiculo '" << elemento << "' cadastrado" << endl; system("pause"); } return l;} lista *excluir(lista *l, frota elemento, float km_viagem_total){ lista *p, *t; if (lista_vazia(l) == true) cout <<" LISTA VAZIA" << endl; else p = l; if (p->dado.km_viagem_total > 50) { if (p->dado.placa == elemento.placa) { l = p->link; delete p; cout <<" O VEÍCULO DA LISTA FOI EXCLUÍDO" << endl; } else { while (p->link != NULL and p->link->dado.placa != elemento.placa) p = p->link; if (p->link == NULL) cout <<" O VEÍCULO '" << elemento.placa << "' NÃO ENCONTRADO" << endl; else { t = p->link; p->link = t->link; delete t; cout <<" O VEÍCULO '" << elemento.placa << "' EXCLUÍDO DA LISTA" << endl; } } } else cout<<" O VEÍCULO NÃO PODE SER EXCLUÍDO, POIS NÃO POSSUI KM VIAGEM MÍNIMOS ACUMULADOS"<<endl; system("pause"); return l;} lista *localizar(lista *l, frota elemento){ lista *p; if (lista_vazia(l) == true) return NULL; else { p = l; while (p != NULL) { if (p->dado.placa == elemento.placa) return p; p = p->link; } } return NULL;} void exibir(lista *l){ lista *p; if (lista_vazia(l) == true) cout << "Sem veiculo cadastrado" << endl; else { p = l; cout <<" Placa: " <<p->dado.placa << endl; cout<<" Km: "<<p->dado.km_viagem_total<<endl; while (p->link != NULL) { p = p->link; cout <<" Placa: " <<p->dado.placa << endl; } } system("pause");} float viagem_volta (frota v){ float viagem_tempo = 0; viagem_tempo= v.viagem; return viagem_tempo;} int main(){ lista *l, *posicao_mem; frota elemento; float km_viagem_total,x; char op; bool ok; l = inicia_lista(); op = menu(); while (op != '0') { if (op == '1') { cout << "Modelo do Veiculo: "; cin >> elemento.modelo; cout << "Placa do Veiculo: "; cin >> elemento.placa; if (localizar(l, elemento) == NULL) l = incluir(l, elemento.placa, 'S'); else { cout << "Placa'" << elemento.placa << "'já no cadastro" << endl; system("pause"); } } else if (op == '2') { cout <<" DIGITE A PLACA PARA REGISTRAR A VIAGEM: "; cin >> elemento.placa; posicao_mem = localizar(l, elemento); if (posicao_mem == NULL) { cout <<" A PLACA '" << elemento.placa << "' NÃO FOI LOCALIZADA " << endl;} else {cout <<" QUILOMETRAGEM: "; cin >> x;posicao_mem->dado.viagem = x + posicao_mem->dado.viagem; } system("pause"); } if (op == '3') { cout << "Placa do veiculo para excluir: "; cin >> elemento.placa; l = excluir(l, elemento, km_viagem_total); op=menu(); } else if (op == '4') exibir(l); op = menu(); } system("pause"); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Baiano88
Olá não estou conseguindo fazer com que apresente os dos veículos Km na hora de exibir, alguém poderia me explicar como ?
tai o código em C++
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.