Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função is_numeric() em C que verifica se uma string contém apenas dígitos de 0 a 9Quantidade de visualizações: 10377 vezes |
Em algumas situações precisamos verificar se uma string contém apenas dígitos de 0 a 9, ou seja, é um valor numérico inteiro válido. Para isso podemos usar a função personalizada em C que mostro nesta dica. Veja que o segredo é passar todos os caracteres individualmente para a função isdigit(). Veja o código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
// função personalizada que permite verificar se uma
// string contém apenas dígitos de 0 a 9
int is_numeric(const char *str){
int res = 1; // passou no teste
// vamos percorrer todos os caracteres da string
// e testar se cada um é um dígito. Se não
// for nós marcamos res como 0 e retornamos
while(*str){
if(!isdigit(*str)){
res = 0;
break;
}
// vamos passar para o próximo caractere
str++;
}
return res;
}
int main(int argc, char *argv[]){
char valor[20]; // vamos guardar o valor digitado aqui
// vamos ler o valor informado pelo usuário
printf("Digite qualquer coisa e tecle ENTER: ");
gets(valor);
// vamos verificar se o usuário informou uma string
// que contém apenas dígitos de 0 a 9
if(is_numeric(valor))
printf("Voce informou uma string numerica");
else
printf("Voce NAO informou uma string numerica");
puts("\n\n");
system("PAUSE");
return 0;
}
E, antes que perguntem como é possível verificar se a string contém um valor fracionário válido, a seguinte alteração pode ser feita:
int is_numeric(const char *str){
int res = 1; // passou no teste
// vamos percorrer todos os caracteres da string
// e testar se cada um é um dígito ou uma vírgula. Se não
// for nós marcamos res como 0 e retornamos
while(*str){
if((!isdigit(*str)) and (*str != ',')){
res = 0;
break;
}
// vamos passar para o próximo caractere
str++;
}
return res;
}
|
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C++ usando a função rmdir()Quantidade de visualizações: 8834 vezes |
Em algumas situações nossos códigos C++ precisam excluir diretórios. Isso pode ser feito com o auxílio da função _rmdir() ou rmdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _rmdir(const char *pathname); a) ENOTEMPTY - Directory not empty - O diretório não está vazio e portanto não pode ser excluído; 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 C++ no qual excluímos um diretório:
#include <iostream>
#include <direct.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos excluir este diretório
char diretorio[] = "C:\\Dev-Cpp\\estudos";
// vamos testar se houve erro na exclusão do diretório
if(rmdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório excluído com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É possível usar a versão Unicode de _rmdir(), ou rmdir(). O método _wrmdir(), 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 excluir este diretório
wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";
// vamos testar se houve erro na exclusão do diretório
if(_wrmdir(diretorio) == -1){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Diretório excluído com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Ruby ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como testar o tipo de uma variável em Ruby usando a função classQuantidade de visualizações: 9560 vezes |
Em algumas ocasiões precisamos retornar o tipo de uma variável (String, FixNum, Float, etc) em Ruby, Isso pode ser feito por meio do uso do método class Object. Veja:# vamos definir uma variável do tipo inteiro valor = 265 # obtemos o tipo da variável valor tipo = valor.class # exibimos o resultado puts "A variável é do tipo " + tipo.to_s Ao executar este código Ruby nós teremos o seguinte resultado: A variável é do tipo Integer |
wxWidgets ::: Dicas & Truques ::: wxApp |
Como usar a classe wxApp em suas aplicações C++ wxWidgetsQuantidade de visualizações: 2324 vezes |
|
A classe wxApp (Application Class) é uma das primeiras classes que devemos estudar se quisermos ter um domínio perfeito do framework wxWidgets. Para usá-la, devemos incluir #include <wx/app.h> em nossos códigos. Essa classe herda de wxAppConsole. Todas as aplicações wxWidgets definem uma classe application derivada de wxApp. Há somente uma instância dela, e essa instância representa a aplicação sendo executada no momento. De todos os métodos herdados de wxApp, há pelo menos um que devemos implementar, e ele é a função OnInit(), que é chamada quando o wxWidgets está pronto para executar o nosso código. OnInit() equivale ao main() em C/C++ ou WinMain (aplicações Win32). Veja um trecho de código no qual declaramos e usamos a classe wxApp: Código para aplicacao.h:
#include <wx/wx.h>
// arquivo de definição
// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
// é chamado no startup da aplicação
virtual bool OnInit();
};
// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)
Código para aplicacao.cpp:
#include "aplicacao.h"
// arquivo de implementação
// aqui o wxWidgets implementa nosso objeto MinhaAplicacao
IMPLEMENT_APP(MinhaAplicacao)
bool MinhaAplicacao::OnInit(){
// vamos mostrar uma mensagem ao iniciar a aplicação
wxMessageDialog *alerta = new wxMessageDialog(NULL,
wxT("A aplicação foi iniciada com sucesso"), wxT("Informação"), wxOK);
alerta->ShowModal();
// em geral retornamos true para iniciar o loop de eventos
// mas essa aplicação exibe apenas uma janela de mensagem. Podemos sair
return false;
}
Veja que no arquivo de declaração (header file) nós temos a macro DECLARE_APP. Ela nos permite declarar a função wxGetApp() que retorna uma referência para o objeto aplicação. Se não fizermos isso, a única forma de obter tal referência é usando o ponteiro global wxTheApp, que é do tipo wxApp*. A macro IMPLEMENT_APP, no arquivo de implementação, permite ao wxWidgets criar dinamicamente uma instância do objeto application no ponto apropriado da inicialização da biblioteca. Esse trecho de código é totalmente funcional, mas teremos apenas a exibição de uma mensagem wxMessageDialog. Por essa razão eu retornei false no laço de eventos. Se tivéssemos criado uma janela wxFrame, o retorno deveria ser true, já que teríamos de lidar com eventos. Para finalizarmos, lembre-se de que o método OnInit() da classe wxApp é o local ideal para se fazer as verificações iniciais da aplicação, tais como conexão com banco de dados, permissão do usuário, disponibilidade da rede, etc. |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como definir o conteúdo de um elemento HTML usando o método text() do jQueryQuantidade de visualizações: 7572 vezes |
O método text("conteudo") nos permite definir o conteúdo de um elemento HTML de forma muito simplificada. Veja um trecho de código que define o conteúdo de uma DIV com o id "div_1":
<script type="text/javascript">
<!--
function definirTexto(){
var texto = "Veja este texto";
// Define o texto para o elemento DIV
$('#div_1').text(texto);
}
//-->
</script>
Lembre-se de que este método atuará em todos os elementos retornados sob uma determinada condição. Observe ainda que este método substitui "<" e ">" por "<" e ">". O retorno deste método é um objeto jQuery, que pode ser usado para possíveis encadeamentos de chamadas de métodos. |
Veja mais Dicas e truques de jQuery |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




