![]() |
|
||||
![]() 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 |
Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string termina com uma determinada substringQuantidade de visualizações: 7284 vezes |
/* Este exemplo usa a função compare da classe string para verificar se uma string começa com uma determinada substring. 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. */ #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string str1("Gosto de programar em Java"); string str2("Java"); if(str1.compare(str1.size() - str2.size(), 4, str2) == 0) cout << "A string termina em \"Java\"\n"; else cout << "A string não termina em \"Java\"\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
||||
Exercícios Resolvidos de C++ - Como retornar o código ASCII associado a um caractere em C++ - Ler um caractere e retornar o código ASCII correspondenteQuantidade de visualizações: 579 vezes |
||||
Pergunta/Tarefa: Escreva um programa C++ que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente. Sua saída deverá ser parecida com: Informe um caractere: A Você informou o caractere: A O código ASCII correspondente é: 65 Veja a resolução comentada deste exercício em C++:
O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos. | ||||
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
||||
Exercício Resolvido de C++ - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescenteQuantidade de visualizações: 708 vezes |
||||
Pergunta/Tarefa: Escreva um programa C++ que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida". Sua saída deverá ser parecida com: Primeiro número: 4 Segundo número: 8 Terceiro número: 11 Ordem Crescente Veja a resolução comentada deste exercício em C++:
| ||||
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
||||||||||||||||||||||||||||||||
Como usar o tipo de dados int da linguagem C++Quantidade de visualizações: 10685 vezes |
||||||||||||||||||||||||||||||||
O tipo de dados int da linguagem C++ é usado quando queremos representar números inteiros, ou seja, sem partes fracionárias. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):
A capacidade de armazenamento do tipo int depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos INT_MIN e INT_MAX, definidos no header climits (limits.h). Veja:
Ao executar este programa você terá um resultado parecido com:
Veja que o tipo inteiro aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):
Este programa exibirá o seguinte resultado:
Note que este não é o resultado esperado, visto que INT_MAX + 2 deveria retornar:
Porém, como o valor máximo que pode ser armazenado em um int é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo int ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo int:
O resultado da execução deste código será algo como:
| ||||||||||||||||||||||||||||||||
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |