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

Colocar primeira letra de cada palavra em maiúcula


rflbboy

Pergunta

Fiz um programa que pede o nome completo, e quero quee o programa faz todas primeiras letras dos nomes passem para maiúscula, mas ele está dando erro. O que tem de errado?

#include <stdio.h>
#include <ctype.h>
#define ESPACO ' '

char *first(char *s)
{
     int i;
     s[0] = toupper(s[0]);
     for(i=0;s[i-1]!='';i++)
       {  if(s[i-1]==ESPACO)
            s[i]=toupper(s[i]);
         else
            s[i]=tolower(s[i]);}
     return s;
}
         

main()
{
      char nome[100];
      puts("Digite seu nome:");
      gets(nome);

      puts(first(nome));
      getch();
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

você deve usar !='\ 0' para indicar o fim da string. (sem o espaço pois barra zero é removido quando envia o tópico)

char *first(char *s)
{
     int i=1;
     s[0] = toupper(s[0]);
     while(s[i]!='\ 0'){ // sem o espaço
        if(s[i-1]==ESPACO)s[i]=toupper(s[i]);
        else s[i]=tolower(s[i]);
        i++;
    }
     return s;
}

Editado por lucas.js
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,2k
×
×
  • Criar Novo...