Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo gomes araujo

String - Maiúsculo para minúsculo

Recommended Posts

Estou tentando fazer uma função que receba uma string como parâmetro e substituir todas as ocorrências dos

caracteres maúsculos para minúsculos e deverá seguir o prótotipo: void minusculo (char* str);

 

Fiz assim mas não esta dando certo

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void minusculo (char *str)
{

int i;

 for (i = 0;i<strlen(str); i++ )
 {
      str[i] = tolower(str[i]);

 } 

}

int main(void)
{
   char frase[100];
   printf("Digite uma frase:\n");
   gets(frase);

   minusculo(frase)

   printf("String modificada %c:",frase);
   system("pause");
   return 0;
}

 

Alguém poderia ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu exemplo possui um erro de sintaxe e alguns erros conceituais. Pesquise sobre os seguintes itens:

 

- O que é preciso passar como argumento correspondente ao especificador de formato %c?

- Qual o tipo do argumento que a tolower() espera?

- Qual o problema da função gets()?

 

Depois de responder a essas perguntas, você saberá consertar seu programa facilmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

str[i] = tolower(str[i]);

A função tolower() está contida no cabeçalho "ctype.h", que deve ser incluído em seu código.

 

printf("\n\nString modificada %c:",frase);
   system("pause");
   return 0;

Se você quer imprimir uma string inteira, devemos usar o especificador para strings e não chars individuais, correto?

Ao invés de usar %c para imprimir a string, use %s .

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.