![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa 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. |
||
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Java para iniciantes - Como formatar uma string no estilo printf da linguagem C usando a classe Formater do JavaQuantidade de visualizações: 12436 vezes |
|
Nesta dica eu mostro como é possível usar o método format() da classe Formater da linguagem Java para formatar strings ao bom e velho estilo da linguagem C, ou seja, com marcadores %d para inteiros, %f para decimais, por exemplo. Veja o exemplo completo:
package arquivodecodigos;
import java.util.*;
public class Estudos{
public static void main(String[] args){
int pessoas = 20;
StringBuilder string = new StringBuilder();
Formatter fm = new Formatter(string);
fm.format("Havia %d pessoas lá.", pessoas);
System.out.println(string);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Havia 20 pessoas lá. |
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em C - Como inserir antes de um determinado nó em uma lista encadeada simples usando CQuantidade de visualizações: 2574 vezes |
|
Em algumas situações nós precisamos inserir o novo nó antes de um determinado nó na lista encadeada simples. Veja, por exemplo, uma lista com o seguintes valores: 45 | 3 | 98 | 47 Suponha que queremos inserir o valor 50 antes do 98, então o novo conteúdo da lista será: 45 | 3 | 50 | 98 | 47 Observe que neste exemplo eu tratei o caso de inserir antes do primeiro nó, ou seja, antes do 45, mas não tratei a lista vazia. Há também a questão do laço infinito caso o usuário queira inserir antes de um nó não existente (não tratada). Veja o código completo:
#include <stdio.h>
#include <stdlib.h>
// estrutura Nó
struct No{
int valor;
struct No *proximo;
};
// fim da estrutura Nó
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
if(n != NULL){
do{
printf("%d\n", n->valor);
n = n->proximo;
}while(n != NULL);
}
else
printf("A lista esta vazia\n\n");
}
// função que permite inserir um novo nó
// antes de um determinado valor
struct No *inserir_antes_valor(struct No *n, int v, int v_antes){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// guarda o nó antes do valor que procuramos
struct No *anterior = NULL;
struct No *temp = n; // aponta para o início da lista
// enquanto for diferente do valor que estamos procurando
while(temp->valor != v_antes){
anterior = temp; // anterior recebe temp
// e temp recebe o seu próximo
temp = temp->proximo;
}
// ATENÇÃO: não estamos tratando a condição
// de lista vazia. Para isso veja minha dica
// sobre como inserior no início da lista
// devemos inserior no início da lista?
if(anterior == NULL){
// o próximo do novo nó é o início da lista
novo->proximo = n;
n = novo; // início da lista é o novo nó
}
else{
// o proximo do anterior é o novo nó
anterior->proximo = novo;
// e o próximo do novo nó é temp
novo->proximo = temp;
}
return n;
}
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// verifica se a lista está vazia
if(n == NULL){
// é o primeiro nó...não deve apontar para
// lugar nenhum
novo->proximo = NULL;
return novo; // vamos retornar o novo nó como sendo o início da lista
}
else{ // não está vazia....vamos inserir o nó no final
// o primeiro passo é chegarmos ao final da lista
struct No *temp = n; // vamos obter uma referência ao primeiro nó
// vamos varrer a lista até chegarmos ao último nó
while(temp->proximo != NULL){
temp = temp->proximo;
}
// na saída do laço temp aponta para o último nó da lista
// novo será o último nó da lista...o campo próximo dele deve
// apontar para NULL
novo->proximo = NULL;
// vamos fazer o último nó apontar para o nó recém-criado
temp->proximo = novo;
return n; // vamos retornar o início da lista intacto
}
}
int main(int argc, char *argv[])
{
// declara a lista
struct No *inicio = NULL;
// vamos inserir quatro valores no final
// da lista
inicio = inserir_final(inicio, 45);
inicio = inserir_final(inicio, 3);
inicio = inserir_final(inicio, 98);
inicio = inserir_final(inicio, 47);
// vamos exibir a lista
puts("Valores atuais:\n");
exibir(inicio);
// vamos inserir o valor 50 antes do 98
inicio = inserir_antes_valor(inicio, 50, 98);
// vamos exibir a lista novamente
puts("\nValores agora:\n");
exibir(inicio);
puts("\n\n");
system("pause");
return 0;
}
|
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um arquivo em Delphi usando a função DeleteFile()Quantidade de visualizações: 33287 vezes |
|
Em algumas situações nossas aplicações precisam excluir arquivos. Para isso o Delphi nos fornece a função DeleteFile(), presente na unit SysUtils. Esta função recebe o caminho e nome do arquivo a ser excluído e retorna true se a exclusão foi feita com sucesso e false em caso contrário. Veja um trecho de código no qual excluímos um arquivo chamado "dados.txt":
procedure TForm1.Button1Click(Sender: TObject);
var
arquivo: string;
begin
// diretorio e nome do arquivo
arquivo := 'C:\arquivo de codigos\dados.txt';
// vamos remover o arquivo
if DeleteFile(arquivo) then
ShowMessage('O arquivo foi excluído com sucesso')
else
ShowMessage('Não foi possível excluir o arquivo');
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como obter a data atual no MySQL usando as funções CURDATE(), CURRENT_DATE e CURRENT_DATE()Quantidade de visualizações: 40579 vezes |
As funções CURDATE(), CURRENT_DATE e CURRENT_DATE() são usadas quando queremos obter a data atual do servidor MySQL. O valor retornado pode estar no formato 'YYYY-MM-DD' ou YYYYMMDD, dependendo se a função for chamada em um contexto string ou numérico. Veja:SELECT CURDATE() O valor retornado será algo como 2008-03-30. Veja agora como usar CURDATE() em um contexto numérico: SELECT CURDATE() + 0 O retorno será algo como 20080330. |
Nossas 20 dicas & truques de programação mais populares |
|
MySQL - Como retornar a hora atual no MySQL usando as funções CURTIME(), CURRENT_TIME e CURRENT_TIME() Java - Como converter de octal para decimal usando o método parseInt() da classe Integer da linguagem Java AutoCAD Civil 3D .NET C# - Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




