Ir ao conteúdo

Lowercase - uso (?)


Henrique N

Posts recomendados

Postado

Ae galera..

Estou fazendo um programa, e, em determinada parte dele coloco um comando de condição (if), no qual comparo uma variável com várias strings (usadas para nomes no programa) através do comando strcmp.

O problema é que essa string é o usuário quem vai digitar, e fica a critério dele utilizar (ou não) letras maiúsculas intercaladas de minúsculas (ele pode fazer uma lambança com isso, do tipo "heNRiQUe").

Para que eu crie uma condição para cada possibilidade de digitação do usuário fica ridiculamente grande e cansativo fazer a condição, então eu estive pensando se não há uma forma de garantir que, não importa em qual formato que o usuário digite cada letra da string (maiúsculo ou minúsculo), o programa a leia apenas em minúscula para comparar com a variável.

Eu soube que existe um tal de lowercase para letras minúsculas e um upcase (ou uppercase, não sei ao certo) para maiúsculas, mas não sei como se usa nem sua forma geral.

Se alguém puder dar uma ajuda fico muito agradecido.

Abração, valeu!

Postado

No C existe a função tolower() e toupper() que transforma um char em lower case (minusculas) ou upper case (maiusculas), então basta criar uma funçãozinha simples que pega a string que o usuário digitar e transforma tudo, caractere por caractere.

No C++ se não me engano existe uma função da biblioteca string que já transforma a string inteira.

http://www.cplusplus.com/reference/clibrary/cctype/tolower/

Postado

voce pode usar tambem a funçao stricmp(s1,s2) no lugar do strcmp(s1,s2)...

o stricmp compara as strings independente se as letras sao maiusculas ou minusculas...

portanto, para o stricmp, a palavra HenRiQuE é igual a henrique...

Postado

#include <stdio.h>

#include <stdlib.h>

int main()

{

char palavra[40]; // declara palavra com 40 caracteres no máximo

int i;

printf("Digite uma palavra: ");

gets(palavra); // recebe a palavra do usuario

for(i=0; palavra!='\0'; i++) // le caracter por caracter

{

palavra = toupper(palavra); //converte cada caracter para maiusculo

printf("%c", palavra); //mostra a palavra em maiusculo

}

system("pause");

return 0;

}

Postado

galera valeu pela força!

fiz uma estrutura de repetição pra transormar cada caracter em minúsculo usando o tolower, mas a dica do stricmp é muito boa...

valeu mesmo, vai ajudar bastante

abraço

Arquivado

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

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!