Você está aqui: C++ ::: Win32 API (Windows API) ::: Strings e Caracteres

Convertendo uma string para letras minúsculas usando a função CharLower()

Quantidade de visualizações: 7100 vezes
A função CharLower() da API do Windows pode ser usada para converter todos os caracteres de uma string em letras minúsculas. Veja seu protótipo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

LPTSTR CharLower(
  LPTSTR lpsz
);

Note que a função CharLower() recebe uma string terminada em nulo e retorna um ponteiro LPTSTR para a mesma matriz de caracteres, desta vez com os caracteres todos em letras minúsculas. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  CHAR frase[] = "Gosto de Programar na WinAPI";
  
  // vamos converter para letras minúsculas
  CharLower(frase);
  
  // vamos exibir o resultado
  cout << frase << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Aqui eu não demonstrei como obter o ponteiro LPTSTR para a string em letras minúsculas, uma vez que a conversão acontece diretamente na matriz de caracteres fornecida como argumento. Caso seja necessário usar tal ponteiro, podemos usar a seguinte abordagem:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  CHAR frase[] = "Gosto de Programar na WinAPI";
  
  // vamos converter para letras minúsculas
  CHAR *minusculas = CharLower(frase);
  
  // vamos exibir o resultado
  cout << minusculas << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Agora a string em minúsculas pode ser acessada tanto pela matriz de caracteres frase quanto pelo ponteiro minusculas.

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de C++ - Como calcular e exibir os 50 primeiros números primos em C++

Quantidade de visualizações: 9553 vezes
Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os 50 primeiros números primos. A saída do programa deverá ser parecida com:

50 primeiros números primos:

     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[]){
  int quantidade = 50; // quantidade de números primos
  int contador = 0; // quantidade de números primos encontrados
  int numero = 0; // inteiro inicial             
               
  // Lembre-se! O número 1 não é primo
  cout << quantidade << " primeiros numeros primos:\n" << endl;
  
  // laço while será executado até encontrar os 50 primeiros números primos 
  while(contador < quantidade){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (numero / 2); j++){
      if(numero % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if((primo) && (numero > 1)){
      cout << setw(6) << numero;
      contador++; // encontramos um número primo
      
      if(contador % 10 == 0){
        cout << "\n";
      }
    }  
      
    numero++;  
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



C++ ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string C++ começa com uma determinada substring usando a função compare()

Quantidade de visualizações: 7794 vezes
Este exemplo usa a função compare() da classe string para verificar se uma string começa com uma determinada substring em C++. Se o resultado for positivo, o valor 0 é retornado. Do contrário obteremos um valor diferente de 0.

Veja a forma da função que usaremos:

			 
int compare(size_t pos1, size_t n1, 
  const string& str) const;
int compare(size_t pos1, size_t n1, 
  const char* s) const;
Podemos chamar esta função de duas formas:

a) Fornecendo uma variável como parâmetro;
b) Fornecendo uma string entre aspas.

O truque aqui é fornecer a posição inicial e a quantidade de caracteres que queremos testar.

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <string>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // vamos criar duas strings
  string str1("Gosto de programar em Java");
  string str2("Gosto");

  // agora vamos testar se a primeira string começa com a segunda
  if(str1.compare(0, str2.size(), str2) == 0){
    cout << "A string começa com \"Gosto\"";
  }
  else{
    cout << "A string não começa com \"Gosto\""; 
  }
	   
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

A string começa com "Gosto"


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - Revisado

Quantidade de visualizações: 9628 vezes
Esta dica mostra como atribuir números aleatórios aos elementos de um array (vetor). Veja que cada elemento recebe um valor randômico na faixa de 0 a 100:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // declara uma matriz de 10 elementos
  int valores[10];
 
  // vamos inicializar os elementos da matriz
  // usando valores aleatórios de 0 a 100
  srand(time(NULL));
 
  for(int i = 0; i < 10; i++){
    valores[i] = rand() % 100;
  }
 
  // exibe o resultado
  for(int i = 0; i < 10; i++){
    cout << "Índice: " << i << " - Valor: " <<
      valores[i] << endl;
  }
 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executarmos este código nós teremos um resultado parecido com:

Indice: 0 - Valor: 46
Indice: 1 - Valor: 11
Indice: 2 - Valor: 28
Indice: 3 - Valor: 74
Indice: 4 - Valor: 49
Indice: 5 - Valor: 50
Indice: 6 - Valor: 27
Indice: 7 - Valor: 98
Indice: 8 - Valor: 11
Indice: 9 - Valor: 81


Vamos testar seus conhecimentos em AutoCAD Civil 3D

Superfícies no AutoCAD Civil 3D

Qual dos objetos abaixo não é um tipo de dados que pode ser incluído em uma superfície do AutoCAD Civil 3D?

A) Lines (Linhas)

B) Points (Pontos)

C) Parcels (Parcelas, Lotes)

D) Blocks (Blocos)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Densidade de um fluido

Um fluido encontra-se em um recipiente com volume de 300L. Sabendo que a massa desse fluido é de 2kg, qual a sua densidade em kg/m3?

A) 0,67kg/m3.

B) 6,67kg/m3.

C) 0,15kg/m3.

D) 150kg/m3.

E) 151,5kg/m3.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

Normalmente, o projeto de calha é feito em duas etapas: primeiramente, estima-se o escoamento superficial a partir do método racional e, em sequência, consulta-se uma calha com capacidade hidráulica satisfatória. Em alguns casos, o projetista deve estar apto a calcular a seção necessária, fazendo, assim, a aplicação dos conhecimentos obtidos.

Uma calha em aço galvanizado com coeficiente de rugosidade n = 0,011 deverá ser instalada com declividade 0,5%. Sabendo que a seção adotada é retangular com base de 10cm e altura de 20cm, qual a capacidade hidráulica dessa calha em L/s?

A) 132,45L/s.

B) 165,25L/s.

C) 150,40L/s.

D) 180,61L/s.

E) 194,27L/s.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vigas a flexão simples: seções retangulares

As ações permanentes atuam na estrutura durante toda a sua vida útil, podendo apresentar poucas variações. Em vigas de concreto armado, essas ações normalmente são os carregamentos de paredes, das lajes apoiadas sobre elas e do seu próprio peso.

Imagine uma viga de concreto V (15x40) que sustenta uma parede com 18cm de espessura e suporta duas lajes. O pé-direito da edificação é de 3,00m e tanto a viga que sustenta a parede quanto a no topo desta têm altura de 40cm. Considere que as reações de apoio das lajes nessa viga são de 3,55kN/m e 5,40kN/m.

Nesse cenário, qual é o carregamento dessa viga?

A) 10,45kN/m.

B) 11,84kN/m.

C) 13,89kN/m.

D) 15,39kN/m.

E) 16,15kN/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

As empresas, como instituições jurídicas, também têm importante papel junto à sociedade. O cumprimento desse papel social ocorre quando a organização, sendo uma atividade econômica devidamente regulamentada e organizada, ___________________.

Marque a alternativa que completa a frase corretamente.

A) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme os resultados obtidos.

B) terceiriza suas atividades, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal.

C) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal.

D) gera empregos, distribui igualitariamente a renda, efetua o recolhimento dos tributos conforme a exigência legal.

E) garante o emprego para a mão de obra desqualificada, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 57 usuários muito felizes estudando em nosso site.