Boa tarde galera estou tentando ordenar endereços para um trabalho escolhar porém estou tendo problemas.
Segue meu código:
if(strcmp(tipo, "codigo") == 0)
{
for (i = 0; i < lista->Quantidade; i++)
{
for(j=0; j< lista->Quantidade; j++)
{
if(lista->Registros[i].codigo < lista->Registros[j].codigo)
{
listaOrdenar->Registros[i] = lista->Registros[i];
lista->Registros[i] = lista->Registros[j];
lista->Registros[j] = listaOrdenar->Registros[i];
}
}
}
for (i = 0; i < lista->Quantidade; i++)
{
printf("-------------------------------------------------------------\n");
printf("codigo:\t%d\n\n", lista->Registros[i].codigo);
printf("endereco: %s\n\n", lista->Registros[i].endereco);
printf("tipo:\t%s\n\n", lista->Registros[i].tipo);
}
printf("-------------------------------------------------------------\n");
}
if(strcmp(tipo, "endereco") == 0)
{
for (i = 0; i < lista->Quantidade; i++)
{
for(j=0; j< lista->Quantidade; j++)
{
int teste = strcmp(lista->Registros[i].endereco,lista->Registros[j].endereco);
printf("teste: %d", teste);
system("pause");
if(strcmp(lista->Registros[i].endereco,lista->Registros[j].endereco) > 0 )
{
listaOrdenar->Registros[i] = lista->Registros[i];
lista->Registros[i] = lista->Registros[j];
lista->Registros[j] = listaOrdenar->Registros[i];
}
}
}
for (i = 0; i < lista->Quantidade; i++)
{
printf("-------------------------------------------------------------\n");
printf("codigo:\t%d\n\n", lista->Registros[i].codigo);
printf("endereco: %s\n\n", lista->Registros[i].endereco);
printf("tipo:\t%s\n\n", lista->Registros[i].tipo);
}
printf("-------------------------------------------------------------\n");
}
O problema que se eu executar e escolher a opção "endereco" o prompt trava e da a mensagem "Não respondendo".
Os endereços vão ser cadastrados assim:
São somente exemplos:
- Rua teste1
- Rua teste3
- Rua teste2
Cadastrando somente
- teste1
- teste3
- teste2
O programa ordena corretamente sem problemas. Alguma luz?