Eu tenho uma biblioteca que ordena por char, porém preciso alterar ela para ordenar por nome e ID
Alguém pode me ajudar, comecei alterar só que não identifico o erro
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
struct Cliente {
char nomeCliente[30];
int ordemChegada;
};
struct NoLO {
Cliente cliente;
};
void criarLO (NoLO *&LO) {
LO = NULL;
}
int loVazia(NoLO *LO) {
return (LO == NULL);
}
//INSERIR
void inserirNaLO (NoLO *&LO, Cliente c) {
NoLO *aux = new (NoLO);
strcpy(aux->nomeCliente,c.nomeCliente);
aux->IDCliente=c.IDCliente;
NoLO *vizE = NULL;
NoLO *vizD = LO;
while ((vizD != NULL) && (c > vizD->aux->nomeCliente)) {
vizE = vizD;
vizD = vizD->prox;
}
if (vizE == NULL) {
LO = aux;
}
else {
vizE->prox = aux;
}
aux->prox = vizD;
}
//REMOVER
void removerDaLO (NoLO *&LO, Cliente c) {
NoLO *vizE = NULL;
NoLO *vizD = LO;
while ((vizD != NULL) && (c > vizD->info)) {
vizE = vizD;
vizD = vizD->prox;
}
if (vizD != NULL && vizE == NULL) {
LO = LO->prox;
delete(vizD);
printf("%c removido!", c);
return;
}
else if (vizD != NULL) {
NoLO *aux = vizD;
vizD = vizD->prox;
delete(aux);
if (vizD != NULL)
vizE->prox = vizD;
else {
if (vizE == NULL)
LO = vizD;
else
vizE->prox = vizD;
}
printf("%s removido!", c);
return;
}
printf("%c nao localizado na lista!", c);
}
//IMPRIMIR
void imprimirLO (NoLO *LO) {
system("cls");
if (!loVazia(LO)) {
NoLO *aux = new (NoLO);
aux = LO;
while (aux != NULL) {
printf(" %s, %i -> ", aux->cliente.nomeCliente, aux->cliente.ordemChegada);
aux = aux->prox;
}
}
else
printf("Lista vazia!");
printf("\n\n");
system("pause");
}