Ir para conteúdo
Fórum Script Brasil
  • 0

Problema para ordenar uma string


Átill

Pergunta

Quando eu coloco mais de um valor para ser ordenado na string ela não ordena da maneira correta . Alguém pode me ajudar?

struct informacaosobreopaciente
{
    char nomepaciente[100];
    char nomemedico  [100];
    int  dia,mes,ano;
    char sexo[10];
};


void mostra_paciente_ordem_alfabetica(informacaosobreopaciente p[max_paciente],int conta)
{
    informacaosobreopaciente a[max_paciente];
    informacaosobreopaciente f;//variavel auxiliar

    if(conta == 0)
        cout << "não existe usuario cadastrado"<<endl;

    else
    {
        for(int d  = 0; d < conta; d++)
            a[d] = p[d];

        for(int b = 0; b < conta; b++)
        {
            for(int c = 0; c < conta; c++)
            {
                if(strcmp(p[b].nomepaciente , p[c].nomepaciente) > 0)
                {
                    f = a[b];
                    a[b] = a[c];
                    a[c] = f;
                }
            }
        }
        for(int b = 0; b < conta; b++)
        {
            cout << "\nPaciente " << b+1;
            cout << "\nNome do Paciente..: " << a[b].nomepaciente<<endl;
            cout << "Nome do Medico......: " << a[b].nomemedico<<endl;
            cout << "Data de Nascimento..: " << a[b].dia << "/" << p[b].mes << "/" << p[b].ano<<endl;
            cout << "Sexo do pacietne....: " << a[b].sexo<<endl;
        }
    }

}

int main()
{
    informacaosobreopaciente p[max_paciente];
    int opcao;
    int cont = 0;
    do
    {
        menu(opcao);
        if(opcao == 1)
            cadastro(p,cont);
        else if (opcao == 2)
            mostra_pacientes_ordem_de_cadastro(p,cont);
        else if(opcao == 3)
            mostra_paciente_ordem_alfabetica(p,cont);
        else if(opcao == 4)
            mostra_paciente_ordem_alfabetica_decrescente(p,cont);
        else if(opcao == 5)
            excluirpaciente(p,cont);
        else if(opcao ==6)
            excluirpacientepormedico(p,cont);
    }
    while(opcao >=1 && opcao <= 6);


    return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...