rflbboy Postado Maio 13, 2012 Denunciar Share Postado Maio 13, 2012 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(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucas.js Postado Maio 13, 2012 Denunciar Share Postado Maio 13, 2012 (editado) 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 Maio 13, 2012 por lucas.js Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rflbboy
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?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.