Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em C++ usando a função mkdir()Quantidade de visualizações: 10798 vezes |
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _mkdir(const char *pathname); Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável.
#include <iostream>
#include <direct.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar o diretório
char diretorio[] = "estudos";
// vamos testar se houve erro na criação do diretório
if(mkdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório criado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:
#include <iostream>
#include <direct.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar o diretório
wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";
// vamos testar se houve erro na criação do diretório
if(_wmkdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório criado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string. |
C# ::: Dicas & Truques ::: Sistema |
Como retornar a capacidade do HD em MB ou GB em C# usando um objeto ManagementObjectQuantidade de visualizações: 9208 vezes |
|
Nesta dica mostrarei como podemos usar um objeto ManagementObject para retornar o tamanho de um HD em MB ou GB usando a linguagem C#. No exemplo eu acessei o drive C, mas você pode usar qualquer um que esteja disponível na sua máquina. Veja o código C# completo para o exemplo:
private void button2_Click(object sender, EventArgs e) {
// não esqueça de importar
// using System.Management;
// vamos criar um novo objeto ManagementObject
ManagementObject dispositivo =
new ManagementObject("win32_logicaldisk.deviceid=\"C:\"");
// vamos retornar o dispositivo
dispositivo.Get();
// agora vamos retornar o tamanho do HD
double tam = Convert.ToDouble(dispositivo["Size"]);
// convertemos para GB
tam = tam / 1024 / 1024 / 1024;
// e mostramos o resultado
textBox1.Text = "O HD tem capacidade de " + tam + " GB";
}
Ao executar este código C# nós teremos o seguinte resultado: O HD tem capacidade de 251,767574310303 GB Se você quiser o tamanho do HD em MB, basta usar: tam = tam / 1024 / 1024; Nos testes que fiz no Visual Studio 2019, não foi possível acessar o HD a partir de uma aplicação C# console, somente por meio de uma aplicação Windows Desktop. Veja a mensagem retornada: System.PlatformNotSupportedException: 'System.Management currently is only supported for Windows desktop applications.' |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar if e if..else em C# - A estrutura condicional if do C#Quantidade de visualizações: 22337 vezes |
A instrução condicional if (se) é usada quando queremos testar uma condição e, baseado nesta, executar alguma ação. Veja:
static void Main(string[] args){
int valor = 20;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Execute o código e veja que o texto "O valor é maior que 10" é exibido somente se o valor da variável valor for maior que 10. Note que neste teste temos somente uma instrução. Neste caso as chaves { e } podem ser omitidas:
if(valor > 10)
Console.WriteLine("O valor é maior que 10");
No entanto, quando duas ou mais instrução forem executadas, as chaves { e } são obrigatórias. Note também que o resultado do teste de uma instrução condicional if deve ser sempre true ou false. A instrução if..else (se..ou então) é útil quando queremos executar uma ação se uma condição for satisfeita e outra ação caso contrário. Veja:
static void Main(string[] args){
int valor = 5;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
else{
Console.WriteLine("O valor é menor ou igual a 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Há ainda os casos em que temos que testar várias condições. Observe: static void Main(string[] args){
int valor = 8;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
// testa se o valor é menor que 10
else if(valor < 10){
Console.WriteLine("O valor é menor que 10");
}
// o valor é igual a 10
else{
Console.WriteLine("O valor é igual a 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
|
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias restantes para o fim do ano em JavaScriptQuantidade de visualizações: 9428 vezes |
|
Desde a época que criamos o site, muitos usuários nos perguntam como escrever um código JavaScript que calcula e mostra a quantidade de dias restantes para o fim do ano. Nesta dica eu mostro como isso pode ser feito. É claro que você pode alterá-lo para calcular a quantidade de dias restantes para qualquer data. Veja a página HTML completa para o exemplo:
<!doctype html>
<html>
<head>
<title>Datas em JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos obter a data de hoje
var hoje = new Date();
// vamos construir a data do final do ano
var fim_ano = new Date(hoje.getFullYear(), 11, 31);
// quantidade de milisegundos em um dia
var milisegundos_dia = 1000 * 60 * 60 * 24;
// calculamos os dias restantes para o fim do ano
var dias_restantes = Math.ceil((fim_ano.getTime() -
hoje.getTime()) / (milisegundos_dia));
// e mostramos o resultado
document.write("Hoje é: " + hoje.toString() + "<br>");
document.write("Faltam " + dias_restantes +
" dias para o fim do ano.");
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é: Sat Feb 04 2023 12:47:50 GMT-0300 (Horário Padrão de Brasília) Faltam 330 dias para o fim do ano. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHPQuantidade de visualizações: 18962 vezes |
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um exemplo:
<?php
// vamos declarar e inicializar um vetor de inteiros
$valores = array(43, 2, 6, 11, 98, 6, 3, 6);
// vamos exibir os valores do vetor
echo "Com elementos duplicados:<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
// vamos remover os elementos duplicados
$valores = array_unique($valores);
// vamos exibir os valores do vetor novamente
echo "<br><br>Sem elementos duplicados:<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
?>
Ao executarmos este código teremos o seguinte resultado: Com elementos duplicados: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - Sem elementos duplicados: 43 - 2 - 6 - 11 - 98 - 3 - Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no trecho de código a seguir:
<?php
// vamos declarar e inicializar um vetor de inteiros
$valores = array(43, 2, 6, 11, 98, 6, 3, 6);
// vamos listar os valores dos elementos no vetor
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " - ";
}
// vamos remover os elementos duplicados
$valores = array_unique($valores);
// vamos listar os valores no vetor novamente
echo "<br><br>";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " - ";
}
?>
Este código resultará em: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 43 - 2 - 6 - 11 - 98 - - Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach(). |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





