C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em C++ usando a função rename()Quantidade de visualizações: 8709 vezes |
Em algumas situações nossos códigos C++ precisam renomear diretórios. Isso pode ser feito com o auxílio da função rename() ou _rename(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:int rename(const char *oldname, const char *newname); Se o diretório for renomeado com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como um dos seguintes valores: a) EINVAL - Invalid argument - Os nomes dos diretórios contém caracteres inválidos; b) ENOENT - No such file or directory - O caminho do diretório é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este diretório e mantém controle sobre o mesmo. Veja um trecho de código no qual renomeamos um diretório:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos renomear este diretório
char dir_antigo[] = "C:\\Dev-Cpp\\estudos";
char dir_novo[] = "C:\\Dev-Cpp\\estudos2";
// vamos testar se o diretório for renomeado com sucesso
if(rename(dir_antigo, dir_novo) != 0){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório renomeado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É possível usar a versão Unicode de rename() ou _rename(). O método _wrename, também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos renomear este diretório
wchar_t dir_antigo[] = L"C:\\Dev-Cpp\\estudos";
wchar_t dir_novo[] = L"C:\\Dev-Cpp\\estudos2";
// vamos testar se o diretório for renomeado com sucesso
if(_wrename(dir_antigo, dir_novo) != 0){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório renomeado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Diretório renomeado com sucesso |
Java ::: Dicas & Truques ::: Timers |
Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabelQuantidade de visualizações: 17583 vezes |
|
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
public class Estudos extends JFrame{
JLabel hora;
Timer timer;
DecimalFormat formato;
public Estudos() {
super("Usando timers em Java");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
formato = new DecimalFormat("00");
// Cria o timer
timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
atualizarHoras();
}
});
// Cria um botão com o texto "Iniciar"
JButton iniciar = new JButton("Iniciar");
iniciar.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
timer.start(); // inicia o timer
}
}
);
// Cria um botão com o texto "Parar"
JButton parar = new JButton("Parar");
parar.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
timer.stop(); // pára o timer
}
}
);
// JLabel que exibirá a hora atual
hora = new JLabel("00:00:00");
// Adiciona os botões à janela
c.add(iniciar);
c.add(parar);
// adiciona o label à janela
c.add(hora);
setSize(350, 250);
setVisible(true);
}
private void atualizarHoras(){
// Cria uma instância de Calendar
Calendar agora = Calendar.getInstance();
// horas, minutos e segundos
int horas = agora.get(Calendar.HOUR);
int minutos = agora.get(Calendar.MINUTE);
int segundos = agora.get(Calendar.SECOND);
hora.setText(formato.format(horas) + ":" +
formato.format(minutos) + ":" +
formato.format(segundos));
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em Java - Java para Matemática e EstatísticaQuantidade de visualizações: 3219 vezes |
|
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código Java completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// conjunto dos dados
double conjunto[] = {10, 30, 90, 30};
double soma = 0.0; // soma dos elementos
double desvioPadrao = 0.0; // desvio padrão
int tam = conjunto.length; // tamanho dos dados
// vamos somar todos os elementos
for(int i = 0; i < tam; i++){
soma = soma + conjunto[i];
}
// agora obtemos a média do conjunto de dados
double media = soma / tam;
// e finalmente obtemos o desvio padrão
for(int i = 0; i < tam; i++){
desvioPadrao = desvioPadrao + Math.pow(conjunto[i] - media, 2);
}
// mostramos o resultado
System.out.println("Desvio Padrão Populacional: " +
Math.sqrt(desvioPadrao / tam));
System.out.println("Desvio Padrão Amostral: " +
Math.sqrt(desvioPadrao / (tam - 1)));
}
}
Ao executar este código Java nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
AutoCAD VBA ::: Dicas & Truques ::: Comprimentos, distâncias e ângulos |
Como calcular a distância entre dois pontos no AutoCAD usando AutoCAD VBAQuantidade de visualizações: 523 vezes |
|
Em várias situações nós precisamos calcular e retornar a distância entre dois pontos na área de desenho do AutoCAD. Esta tarefa pode ser facilmente realizada com o uso da linguagem AutoCAD VBA. Neste exemplo nós usaremos a função ThisDrawing.Utility.GetPoint() para pedir para o usuário selecionar dois pontos na área de desenho e em seguida vamos mostrar a distância entre eles. Veja o código AutoCAD VBA completo para o exemplo:
' Esta macro AutoCAD VBA demonstra como podemos
' calcular a distância entre dois pontos na área de
' desenho do AutoCAD
Sub DistanciaDoisPontos()
' vamos declarar os dois pontos geométricos
Dim p As Variant
Dim q As Variant
' para guardar as coordenadas temporárias
Dim x As Double, y As Double, z As Double
' para guardar a distância
Dim distancia As Double
' vamos pedir para o usuário informar os dois pontos
p = ThisDrawing.Utility.GetPoint(, vbCrLf & _
"Indique o primeiro ponto: ")
q = ThisDrawing.Utility.GetPoint(p, vbCrLf & _
"Indique o segundo ponto: ")
' agora calculamos a distância entre os dois pontos informados
x = p(0) - q(0)
y = p(1) - q(1)
z = p(2) - q(2)
distancia = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
' e mostramos o resultado
MsgBox "A distância entre os dois pontos é: " & distancia
End Sub
Ao executar este código AutoCAD VBA nós teremos o seguinte resultado: A distância entre os dois pontos é: 64.6029 |
Nossas 20 dicas & truques de programação mais populares |
|
GNU Octave - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU Octave |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C - Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C |
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 |






