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

função abrevia nome


orlando.ls

Pergunta

sou iniciante em C e já tentei de tudo pra fazer a seguinte função pra abreviar o nome, exemplos:

João Joaquim da Silva Saída:João J. da Silva

Mário João Pereira Lima da Costa Saída: Mário J. P. L. da Costa

João da Silva Saída: João da Silva

Drummond de Andrade Saída:Drummond de Andrade

joão Pereira da Silva Saída: joão Pereira da Silva

pelos exemplos deu pra perceber que se a string iniciar com letra minuscula a função imprime o restante da string normalmente e se após o "espaço" entre os nomes o caractere for minusculo o restante também é impresso normalmente, porém se após o primeiro nome o segundo nome iniciar com maiúscula ele fica abreviado com um "." e se o terceiro nome também iniciar com maiuscula fica abreviado com um "." e assim sucessivamente ate achar um início de nome com minuscula, onde será impresso normalmente até o fim.

Obrigado :huh:

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Se você não mostrar o código, vai ficar difícil dizer que o está errado nele.

Mas veja: isso em C++ já é coisa realmente meio complicada. Em C a dificuldade é maior ainda. Porque em C++ temos uma classe para manipulação de strings. Em C não existe tal recurso.

À primeira vista, parece ser necessário apenas cuidar de três aspectos: o espaço, o ponto que já pode existir e as preposições de ligação (de, da, etc), que não são abreviáveis. Claro que deve-se lembrar que há nomes pequenos também não abreviáveis (Sá, Vaz, etc), mas "capitalizáveis".

Raciocinando rápido, acredito que em seu lugar eu iria em busca do espaço separador. Encontrando, analisaria a palavra a seguir, que termina com outro espaço ou um ponto. Se com ponto, já está abreviada. Se espaço, e maior que a maior preposição, abrevia-se, mas se não for um nome próprio pequeno. E por aí vai.

Editado por Maligno
Link para o comentário
Compartilhar em outros sites

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,4k
×
×
  • Criar Novo...