Ir ao conteúdo

Posts recomendados

Postado

Estou aprendendo ponteiros e tenho que fazer a seguinte questão:

5. Faça um programa utilizando a notação de ponteiros que exiba uma “string”
em letras minúsculas.
Observação: a função em C que converte uma string de maiúscula para
minúscula é tolower( ), e ela pertence a biblioteca <ctype.h>.

O código que fiz foi esse: 

#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <locale.h>

void main ( )
{
char *string[100];;
int i,tam;
setlocale(LC_ALL,"Portuguese");
printf ("Digite uma palavra em maíusculo: ");
gets(string);
printf("%s",string);
printf ("\n---------------------------------------------------------\nString em minúsculo:\n");
tam=strlen(string);
printf("tam:%d\n",tam);
for (i=0;i<tam;i++){
	string[i]=tolower(string[i]);
}
printf("%s",string);
}

porém, a última saída só mostra a primeira letra da palavra, como faço para mostrar a palavra inteira?

  • Amei 1
Postado
#include <cstring>
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
#include <cstdlib>

int main ( )
{
    char *string = (char*)malloc(sizeof(char));
    char *string2 = string;
    int tam;
    setlocale(LC_ALL,"Portuguese");
    printf ("Digite uma palavra em maíusculo: ");
    gets(string);
    printf("%s",string);
    printf ("\n---------------------------------------------------------\nString em minúsculo:\n");
    tam=strlen(string);
    printf("tam:%d\n",tam);
    while(*string != '\0')
    {
        *string=tolower(*string);
        string++;
    }
    printf("%s",string2);
    return 0;
}

Funcionou?

  • Obrigado 2
Postado

Está apontando para o mesmo endereço de string.

 

Pode ser que esta maneira não é das melhores.

 

Ponteiros é complicado. Sugiro ter paciência para aprender.

  • Curtir 2
Postado
1 hora atrás, ngiovana disse:

Observação: a função em C que converte uma string de maiúscula para
minúscula é tolower( ), e ela pertence a biblioteca <ctype.h>.

Uma correção: a função citada não opera string, opera caracteres e do tipo alfabético. Para outros não tem efeito.

  • Curtir 2
  • 1 ano depois...
Postado

aponta pra um vetor e printa o vetor no final que dá boa

 

#include <conio.h>
#include <stdio.h>
#include <ctype.h>

void main ()
{
    char vet[100];
    char *string = vet;
    int i=0;

    printf ("Digite uma palavra em maíusculo: ");
    gets(string);
    printf("%s",string);

    printf ("\n---------------------------------------------------------\nString em minusculo:\n");

    while (*string != '\0'){
        *string = tolower(*string);
        string++;
    }

    printf("%s",vet);
}
 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!