Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

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

Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C

Quantidade de visualizações: 10474 vezes
Muitas vezes precisamos adicionar à uma string apenas alguns caracteres de outra, ou seja, não queremos concatenar as duas strings completamente; apenas parte da segunda. Para isso podemos usar a função strncat(). Veja o protótipo e explicação desta função:

char *strncat(char *str1, const char *str2, size_t n);


Aqui a quantidade n de caracteres da string str2 será anexada ao final da string str1. O caractere de fim de string (null character) da str1 é sobrescrito durante a operação e anexado novamente assim que os caracteres desejados da str2 sejam copiados. Veja um exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de ";
  char palavra[] = "C++";

  /*
  Na segunda sequencia de caracteres nós temos "C++", mas
  queremos anexar à primeira sequencia apenas "C". Veja
  como isso é feito
  */

  strncat(texto, palavra, 1);

  // exibe o resultado
  puts(texto);

  system("pause");
  return 0;
}

Ao executar este códigos nós teremos o seguinte resultado:

Gosto muito de C


C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir um diretório em C# usando a função Delete() da classe DirectoryInfo

Quantidade de visualizações: 2 vezes
O método Delete() da classe DirectoryInfo do C# é muito útil quando precisamos excluir um diretório. Esta função é do tipo void, ou seja, não retorna nada.

Veja um código completo demonstrando o seu uso:

using System;
using System.IO;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos criar uma nova instância da classe DirectoryInfo
      DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens");

      // vamos tentar excluir o diretório
      try {
        dir.Delete();
        Console.WriteLine("Diretório excluído com sucesso.");
      }
      catch (Exception e) {
        Console.WriteLine("Não foi possível excluir o diretório: {0}", e.ToString());
      }
    
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Diretório excluído com sucesso.

Se o diretório a ser excluido não estiver vazio, a chamada ao método System.IO.DirectoryInfo.Delete() poderá gerar o seguinte erro:

Não foi possível excluir o diretório: System.IO.IOException: A pasta não está vazia. : 'C:\estudos_csharp\imagens'
at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty)
at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
at System.IO.DirectoryInfo.Delete()
at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 12


C++ ::: STL (Standard Template Library) ::: Vector C++

Como retornar uma referência ao primeiro elemento de um vector C++ usando a função front()

Quantidade de visualizações: 7185 vezes
O primeiro elemento em um contêiner STL vector do C++ pode ser acessado por meio da função front(). Como esta função é sobrecarregada, temos duas opções:

reference front();
const_reference front() const;  
A primeira versão é do tipo T&, ou seja, retorna uma referência ao primeiro elemento. Veja:

#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá inteiros
  vector<int> valores;

  // vamos inserir três elementos
  valores.push_back(54);
  valores.push_back(13);
  valores.push_back(87);

  // vamos obter o valor do primeiro elemento do vector
  // Note que front() pode ser usada dos dois lados
  // de uma operação de atribuição
  int valor = valores.front();
  cout << "Primeiro elemento: " << valor << endl;

  // vamos alterar o valor do primeiro elemento
  valores.front() = 102;

  // vamos testar o resultado
  cout << "Primeiro elemento: " << valores.front() << endl;

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Note que aqui nós usamos:

int valor = valores.front();
para guardar o valor do primeiro elemento na variável valor. Poderíamos também usar:

int& valor = valores.front();
valor = 102;
Agora valor é uma referência direta ao primeiro elemento do vector. Desta forma, qualquer alteração no valor da variável valor afetará também o primeiro elemento do vector.

Observe agora o seguinte trecho de código:

int valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
cout << "Primeiro elemento: " << valor << endl;

Aqui nós acessamos o valor do primeiro elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.front(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 54. De fato, o que gostaríamos é que uma alteração em valores.front() afetasse também a variável valor. Assim:

int& valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
cout << "Primeiro elemento: " << valor << endl;
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 front(), a saber const T&, que retorna uma referência constante. Veja:

const int& valor = valores.front(); // o primeiro elemento é 54
valores.front() = 20;
valor = 300; // esta linha não compila
cout << "Primeiro elemento: " << valor << endl;

Agora o efeito que queríamos é alcançado. Alterações em valores.front() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora.


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o operador condicional (operador ternário) da linguagem C++ - C++ para iniciantes

Quantidade de visualizações: 27555 vezes
A linguagem C++ fornece um operador condicional, também chamado de operador ternário) que é muito semelhante a um bloco if...else. Este operador aceita três operandos. O primeiro operando é uma condição, o segundo é valor para a expressão condicional se o resultado do teste for true. O terceiro operando é o valor para a expressão condicional caso o resultado do teste for false. Veja um exemplo:

int valor = 10;

cout << (valor >= 5 ? "Maior ou igual a 5" : "Menor que 5");

Este trecho de código pode ser escrito usando if...else da seguinte forma:

int valor = 10;

if(valor >= 5)
  cout << "Maior ou igual a 5";
else
  cout << "Menor que 5";

O operador condicional pode ser resumido na seguinte estrutura:

Exp1 ? Exp2 : Exp3

A expressão Exp1 é avaliada. Se esta resultar verdadeira, a expressão Exp2 se torna o resultado da operação. Se a expressão Exp1 resultar falso, a expressão Exp3 se torna o resultado da operação. Veja mais um exemplo:

int valor = 5;
	
// usando o operador condicional I
bool res = (valor > 10 ? true : false);

// usando o operador condicional II
(res ? cout << "Verdadeiro" : cout << "False");



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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