Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Iarlen

Ordenação de string.

Recommended Posts

Bom dia.

 

Estou desenvolvendo uma agenda e gostaria de fazer uma ordenação alfabética usando string.

 

 

if(strcoll(agenda.c[i].nome,agenda.c[j].nome) > 0){
strcpy(c.nome. agenda.c[i].nome);
strcpy(agenda.c[i].nome, agenda.c[j].nome);
  strcpy(agenda.c[j].nome, c.nome);
}
 
Só que está dando erro. 
149 48 C:\Users\user\Desktop\AgendaFinal\Agenda.cpp [Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'int strcoll(const char*, const char*)' 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode trabalhar com o objeto std::string do C++ e utilizar funções de manipulação de string do C.

Apesar do nome ser igual são coisas completamente diferentes.

 

Sugiro dar uma estudada nesta documentação:

http://www.cplusplus.com/reference/string/string/

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja que esta utilizando structs, pode fazer da seguinte maneira:

 

 

 
struct agenda temp;

if(strcmp(agenda.c[i].nome,agenda.c[i+1].nome) < 0){ 
temp = agenda.c[i].nome;
agenda.c[i].nome = agenda.c[i+1].nome;
agenda.c[i+1].nome = temp
}
 
 
 

 

veja se funciona para o seu sistema, porque utilizei esse mesmo conceito e funcionou com o meu.

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.