Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres |
|
Como retornar a quantidade de caracteres em uma stringQuantidade de visualizações: 12453 vezes |
|
/* O tamanho de uma string pode ser obtido usando-se a função: size_t strlen(const char *s); O resultado será a quantidade de caracteres na string menos o caractere null ('\0'). Esta função é definida em string.h */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char url[] = "Arquivo de Códigos"; // Obtém o tamanho da string int tam = strlen(url); printf("A string contém %d caracteres\n\n", tam); system("PAUSE"); return 0; } |
|
Link para compartilhar na Internet ou com seus amigos: | |
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: 426 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++: #include <string> #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do exercício int a, b, c; // vamos pedir para o usuário informar três números cout << "Primeiro número: "; cin >> a; cout << "Segundo número: "; cin >> b; cout << "Terceiro número: "; cin >> c; // os números estão em ordem crescente? if (a < b && b < c){ cout << "Ordem Crescente" << endl; } // os números estão em ordem decrescente? else if (a > b && b > c){ cout << "Ordem Decrescente" << endl; } // sem ordem definida else{ cout << "Sem ordem definida" << endl; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Angular ::: Dicas & Truques ::: Diretivas Angular |
Angular para iniciantes: Como usar a diretiva ngFor do Angular para percorrer e exibir os itens de vetores e listasQuantidade de visualizações: 4980 vezes |
A diretiva ngFor do Angular é usada quando precisamos percorrer os elementos de um vetor (ou lista) de tipos primitivos ou objetos de classes. Dessa forma, para cada elemento da lista nós podemos definir o bloco HTML que determinará como o elemento individual será renderizado. Vamos ver um exemplo bem simples? Comece criando uma nova aplicação Angular. Abra uma janela de terminal e dispare um comando Angular CLI parecido com: c:\docs_osmar>cd c:\estudos_angular c:\estudos_angular>ng new escola Aqui nós estamos criando uma aplicação Angular com o nome escola. Nesse momento o CLI já criou para nós os seguintes arquivos: app.component.css, app.component.html, app.component.spec.ts, app.component.ts, app.module.ts. Estou usando Angular 11. Dependendo da sua versão, pode ser que sua lista de arquivos seja um pouco diferente. Antes de continuarmos, vamos deixar a aplicação executando. Então, dispare o comando abaixo para executar a aplicação no navegador: c:\estudos_angular>cd escola c:\estudos_angular\escola>ng serve --open Rodou sem problemas? Agora vamos ao nosso primeiro exemplo da diretiva ngFor. Abra o arquivo app.component.ts no seu editor de código favorito e altere o seu código para a versão abaixo: import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { linguagens: string[]; constructor() { this.linguagens = ["Java", "C++", "Delphi", "PHP", "Perl"]; } } Veja que temos um vetor de string contendo o nome de cinco linguagens de programação. Agora vamos usar a diretiva ngFor para receber esta lista no template HTML e exibir seus itens individuais. Para isso, abra o arquivo app.component.html e altere o seu código para: <h2>Minhas linguagens favoritas:</h2> <ul *ngFor="let linguagem of linguagens"> <li>{{ linguagem }}</li> </ul> Veja que coloquei a diretiva ngFor como parte de um elemento HTML <ul> e, para cada item do vetor, nós criamos um novo elemento <li>. Aqui nós usamos o elemento <ul>, mas você pode usar uma <div> ou até mesmo <tr> e <td> para exibir o item como linha de uma tabela. Execute a aplicação no navegador e você terá o seguinte resultado: A instrução "let linguagem of linguagens" quer dizer: pegue os elementos individuais do vetor linguagens e associe, durante a iteração, o elemento atual à variável linguagem. Depois disso só precisamos usar as tags de template {{ linguagem }} para exibir o valor de cada elemento de forma individual. Mas a diretiva ngFor oferece alguns recursos extras. Não deixe de acompanhar as outras dicas e truques dessa seção. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 10323 vezes |
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja: <? // Uma classe Boleto abstrata abstract class Boleto{ } // vamos criar um novo objeto desta classe $b = new Boleto(); ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato: <? // Uma classe Boleto não-abstrata class Boleto{ // um método abstrato public abstract function imprimir($dados); } ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ } ?> A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ public function imprimir($dados){ echo "Imprimindo o boleto: " . $dados; } } // vamos criar um objeto da classe BoletoBradesco $b = new BoletoBradesco(); // vamos imprimir o boleto $b->imprimir("Dados do boleto"); ?> d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato que não deveria conter implementação public abstract function imprimir($dados){ echo "Isso vai dar um erro daqueles!"; } } ?> Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantesQuantidade de visualizações: 13740 vezes |
As unidades grau e radiano são muito usadas em cálculos de trigonometria. O grau é de uso mais no cotidiano pela sua praticidade, pois envolve, na maioria dos casos, números inteiros. O radiano é de uso em cálculos envolvendo geralmente números racionais (e também na programação gráfica, uma vez que praticamente todas as linguagens de programação possuem funções de trigonometria que requerem e retornam valores em radianos, e não em graus). Graus podem ser convertidos para radianos usando-se a seguinte fórmula: Note que o valor de PI é 3,14 (aproximadamente). Veja agora um trecho de código PHP que converte um ângulo em graus para radianos: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $graus = 45; $radianos = ($graus / 180) * pi(); echo "Ângulo em graus: " . $graus . "<br>"; echo "Ângulo em radianos: " . $radianos; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Ângulo em graus: 45 Ângulo em radianos: 0.78539816339745 O PHP, na contramão de várias outras linguagens de programação, nos fornece uma função já embutida que nos permite converter de graus para radianos. Esta função se chama deg2rad(), recebe um valor em graus e devolve o resultado em radianos. Veja como usá-la no código PHP abaixo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $graus = 45; $radianos = deg2rad($graus); echo "Ângulo em graus: " . $graus . "<br>"; echo "Ângulo em radianos: " . $radianos; ?> </body> </html> Ao executarmos o código novamente, teremos o seguinte resultado: Ângulo em graus: 45 Ângulo em radianos: 0.78539816339745 Veja que o resultado obtido com o uso da função deg2rad() foi o mesmo que obtivemos com o cálculo no início da dica. Para finalizar, saiba que 45o, assim como 30o e 60o são conhecidos como ângulos notáveis, e seus valores em radianos, assim como seus seno, cosseno e tangentes, devem ser memorizados se você quiser se tornar um guru (ou guroa) em geometria e trigonometria (e em computação gráfica, é claro). |
C# ::: Windows Forms ::: TextBox |
Como definir a cor do texto de uma caixa de texto TextBox do C# Windows Forms via códigoQuantidade de visualizações: 12539 vezes |
Nesta dica mostrarei como podemos usar a propriedade ForeColor da classe Control do C# Windows Forms para definir a cor do texto de um componente TextBox. Note que criei uma caixa de texto com o nome textBox1 e chamei o código que altera a cor do texto a partir do evento Click de um botão Button. Veja o trecho de código a seguir: private void button1_Click(object sender, EventArgs e) { // vamos definir o azul para a cor do texto textBox1.ForeColor = Color.Blue; } |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Códigos Fonte |
Software 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 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 |