![]() |
|
||||
![]() 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 |
Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Escrevendo uma função begins_with para testar se uma string começa com uma substringQuantidade de visualizações: 6665 vezes |
/* Este exemplo mostra como escrever uma função begins_with. Esta função servirá para verificar se uma string começa com uma determinada substring. Usaremos um parâmetro adicional para permitir a comparação não sensitiva a maiúsculas/minúsculas. */ #include <string> #include <iostream> #include <algorithm> // não esqueça de incluir using namespace std; bool begins_with(string str, string sub, bool case_insensitive){ if(!case_insensitive){ transform(str.begin(), str.end(), str.begin(), (int(*)(int)) toupper); transform(sub.begin(), sub.end(), sub.begin(), (int(*)(int)) toupper); } return (str.compare(0, sub.size(), sub) == 0) ? true : false; } int main(int argc, char *argv[]) { string str1("Gosto de programar em Java"); string str2("GOSTO"); if(begins_with(str1, str2, false)) cout << "A string começa com \"Gosto\"\n"; else cout << "A string não começa com \"Gosto\"\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
||||
Exercício Resolvido de C++ - Como testar se um ano é bissexto em C++ - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 393 vezes |
||||
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa C++ que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando C++:
| ||||
C++ ::: STL (Standard Template Library) ::: Vector C++ |
||||||||||||||||||||||||
Como retornar uma referência ao último elemento de um vector C++ usando a função back()Quantidade de visualizações: 7036 vezes |
||||||||||||||||||||||||
O último elemento de um contêiner STL vector pode ser acessado por meio da função back(). Como esta função é sobrecarregada, temos duas opções:reference back(); const_reference back() const;
Ao executar este código C++ nós teremos o seguinte resultado: Último elemento: 87 Último elemento: 102 Note que aqui nós usamos:
para guardar o valor do último elemento na variável valor. Poderíamos também usar:
Agora valor é uma referência direta ao último elemento do vector. Desta forma, qualquer alteração no valor da variável valor afetará também o último elemento do vector. Observe agora o seguinte trecho de código:
Aqui nós acessamos o valor do último elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.back(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 87. De fato, o que gostaríamos é que uma alteração em valores.back() afetasse também a variável valor. Assim:
Mas, como evitar alterações diretas na variável valor? Podemos declarar valor como uma referência constante, ou seja, usar a segunda versão da função back(), a saber const T&, que retorna uma referência constante. Veja:
Agora o efeito que queríamos é alcançado. Alterações em valores.back() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora. | ||||||||||||||||||||||||
C++ ::: Dicas & Truques ::: Strings e Caracteres |
||||
Como comparar strings em C++ usando o método compare() da classe StringQuantidade de visualizações: 22759 vezes |
||||
Nesta dica mostrarei como podemos usar a função compare() da classe String da linguagem C++ para comparar duas palavras, frases ou textos. Se as duas strings forem iguais, o valor 0 é retornado. Um valor diferente de 0 indica que as duas strings não são iguais. Lembre-se de que esta função distingue entre maiúsculas e minúsculas. Veja como esta função pode ser usada: int compare(const string& str) const; int compare(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. Veja agora um exemplo C++ completo demonstrando o seu uso:
Ao executar este código C++ nós teremos o seguinte resultado: Java é diferente de JAVA | ||||
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |