Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres

Como quebrar (separar) uma string usando ponto-e-vírgula como delimitador

Quantidade de visualizações: 19642 vezes
/*
  Este exemplo mostra como quebrar (separar) uma
  string usando o ponto-e-vírgula como delimitador. 
*/

#include <string>
#include <iostream>
#include <vector>

using namespace std;

void separar(const string& str, char delim,
       vector<string>& pedacos){
  string::size_type i = 0;
  string::size_type j = str.find(delim);

  while(j != string::npos){
    pedacos.push_back(str.substr(i, j - i));
    i = ++j;
    j = str.find(delim, j);

    if(j == string::npos)
      pedacos.push_back(str.substr(i, str.length()));
  }
}

int main(int argc, char *argv[])
{
  vector<string> campos;
  string dados = "OSMAR;PROGRAMADOR;GOIANIA;GO";
  separar(dados, ';', campos);

  for(int i = 0; i < campos.size(); ++i){
    cout << "Campo " << (i + 1) << " = " << 
     campos[i] << '\n';
  }
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Escreva um programa Java que usa o laço for para desenhar um padrão de diamante de estrelas

Quantidade de visualizações: 1156 vezes
Exercício Resolvido de Java - Escreva um programa Java que usa o laço for para desenhar um padrão de diamante de estrelas

Pergunta/Tarefa:

Neste exercício para a prática da linguagem Java você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar.

O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante.

Seu programa deve apresentar a seguinte saída:

Informe a quantidade de linhas: 5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package exercicio;

import java.util.Scanner;

public class Exercicio {
  public static void main(String[] args) {
    // vamos usar um objeto Scanner para ler a entrada do usuário
    Scanner leitura = new Scanner(System.in);
    
    // vamos pedir a quantidade de linhas 
    System.out.print("Informe a quantidade de linhas: ");
    // vamos ler a entrada do usuário
    int linhas = Integer.parseInt(leitura.nextLine());
    
    int estrelas = 1; // começamos com uma estrela (no topo do diamante)
    int espacos = linhas - 1; // se linhas for igual a 5 nós começamos
    // com 4 espaços
    
    // repete duas vezes a quantidade de linhas informadas
    for(int i = 1; i < linhas * 2; i++){
      // vamos imprimir os espaços
      for(int j = 1; j <= espacos; j++){
        System.out.print(" ");
      }
        
      // agora vamos imprimir estrelas
      for(int j = 1; j < estrelas * 2; j++){
        System.out.print("*");
      }
		    
      // passamos para a próxima linha
      System.out.println();
        
      if(i < linhas){ // é a parte superior do diamante
        espacos--; // diminui os espaços
        estrelas++; // e aumenta as estrelas
      }
      else{ // é a parte inferior do diamente
        espacos++; // aumenta os espaços
        estrelas--; // e diminui as estrelas
      }
    }
  }
}



React ::: Elementos de Formulários HTML ::: input type text Element/Object

Como obter o conteúdo de uma caixa de texto em React usando a função useRef() para acessar os elementos HTML

Quantidade de visualizações: 433 vezes
Nesta dica mostrarei como podemos usar useRef() para criar uma referência para um elemento HTML <input type="text">. Em seguida nós vamos usar a propriedade current.value para retornar o conteúdo da caixa de texto e atualizar o estado nomeAtualizado, criado a partir da função useState().

Este código, embora simples, é o ponto de partida para aplicações React bem interessantes, pois não fazemos uso do evento onChange das caixas de texto para atualizar o estado da aplicação. Isso, como é fácil de se perceber, economiza os recursos gastos em processamento desnecessário.

Veja o código para App.js:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// vamos importar o useState e useRef
import {useState, useRef} from 'react';

// função App() que será exportada
export default function App() {
  // vamos criar uma referência para a caixa
  // de texto. Veja que esta referência será
  // usada na declaração do elemento input type text
  const txtNome = useRef(null);

  // vamos usar um estado para guardarmos o conteúdo
  // da caixa de texto
  const [nomeAtualizado, setNomeAtualizado] = useState('');

  // aqui nós gerenciamos o evento onClick do botão
  const tratarEventoClick = () => {
    // vamos obter o conteúdo da caixa de texto
    // usando "txtNome.current.value"
    setNomeAtualizado(txtNome.current.value);
  };

  // e retornamos para renderização
  return (
    <div>
      <input type="text"
        id="nome" name="nome"
        ref={txtNome}/>

      <h2>Nome Atualizado: {nomeAtualizado}</h2>

      <button onClick={tratarEventoClick}>
	Atualizar Estado</button>
    </div>
  );
}

E aqui está o código para o index.js:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// vamos fazer os imports necessários
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';

// definimos a raiz da aplicação React
const root = ReactDOM.createRoot(
  document.getElementById('root'));

// e renderizamos a aplicação no navegador
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

Execute a aplicação React, digite um nome na caixa de texto e clique o botão Atualizar Estado. Somente neste momento é que o conteúdo da caixa de texto será transferido para o estado nomeAtualizado e refletido no elemento <h2>.


Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata)

Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaData

Quantidade de visualizações: 5194 vezes
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro).

A assinatura do método getTableTypes() é:

public ResultSet getTableTypes() throws SQLException 
O retorno do método é um ResultSet contendo os tipos de tabelas, tais como "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS" e "SYNONYM".

Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudosbancodados;

import java.sql.*;

public class EstudosBancoDados{
  public static void main(String[] args) {
    // strings de conexão
    String databaseURL = "jdbc:mysql://localhost/estudos";
    String usuario = "root";
    String senha = "osmar1234";
    String driverName = "com.mysql.jdbc.Driver";

    try {
      Class.forName(driverName).newInstance();
      Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);

      // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
      DatabaseMetaData dbmd = conn.getMetaData();

      // vamos obter os tipos de tabelas suportadas por esta versão do MySQL
      ResultSet tiposTabelas = dbmd.getTableTypes();
      while(tiposTabelas.next()){
        System.out.println(tiposTabelas.getString("TABLE_TYPE"));
      }
      
      // vamos fechar o ResultSet
      tiposTabelas.close();
    }
    catch (SQLException ex) {
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch (Exception e) {
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
    }
  }
}

O resultado da execução deste código foi:

TABLE
VIEW
LOCAL TEMPORARY


Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games)

Como criar o jogo Pedra, Papel, Tesoura em Java - Jogo completo em Java com código comentado

Quantidade de visualizações: 5196 vezes
Faça o download do código-fonte Pedra, Papel, Tesoura em Java

Nesta dica mostrarei como criar o famoso joguinho Pedra, Papel, Tesoura na linguagem Java. Trata-se de um código bem simples e que vou comentar linha a linha, para que você extraia todo o conteúdo necessário para deixar a sua lógica de programação ainda mais afiada.

Nesta versão eu mostrarei como jogar Pedra, Papel, Tesoura contra o computador. Depois de entender todo o código você não terá dificuldade para implementar uma versão que lhe permitirá jogar contra seus amigos.

Antes de vermos o código, eis uma imagem do jogo em execução:



Quais técnicas de programação vou aprender com o código desse jogo?

O joguinho Pedra, Papel, Tesoura é ótimo para estudantes de programação que está iniciando em Java e que gostariam de aprimorar sua lógica de programação, afinal, se você desenvolver uma boa lógica de programação, você conseguirá desenvolver soluções em qualquer linguagem.

Além de entender como funciona o desenvolvimento de jogos em Java, você reforçará o seu conhecimento de laços, estrutura condicional if...else, entrada e saída e fluxo e desvio do algorítmo.

Veja, por exemplo, um trecho de código no qual testamos se o jogador escolheu Pedra, Papel ou Tesoura, e também a escolha feita pelo computador:

// o jogador escolheu Pedra?
else if(jogador == 1){
  // o computador escolheu Papel?
  if(computador == 2){
    System.out.println("Você perdeu. Papel embrulha Pedra");
    vitoriasComputador++; // aumenta as vitórias do computador
  }
  else{ // o computador escolheu Tesoura
    System.out.println("Você ganhou. Pedra amassa Tesoura");
    vitoriasJogador++; // aumenta as vitórias do jogador
  }
}
// o jogador escolheu Papel?
else if(jogador == 2){
  // o computador escolheu Tesoura?
  if(computador == 3){
    System.out.println("Você perdeu. Tesoura corta Papel");
    vitoriasComputador++; // aumenta as vitórias do computador
  }
  else{ // o ocmputador escolheu Pedra
    System.out.println("Você ganhou. Papel embrulha Pedra");
    vitoriasJogador++; // aumenta as vitórias do jogador
  }
}
Como posso obter este código fonte?

Os links para você baixar todas as versões deste projeto estão abaixo:

1) PEDPAPTESJC - Jogo Pedra, Papel, Tesoura em Java Console - NetBeans IDE - Faça o download do código-fonte Pedra, Papel, Tesoura em Java.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo

Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-image

Quantidade de visualizações: 7688 vezes
Nesta dica mostrarei como usar a propriedade background-image do CSS (Cascading Style Sheet) para aplicar uma imagem de fundo às nossas páginas HTML. Note que, neste exemplo, não controlamos como e se a imagem de fundo será repetida. Em outras dicas dessa seção você aprenderá como isso pode ser feito.

Veja o resultado desta dica na figura abaixo:



E agora veja o código HTML completo para o exemplo, incluindo a marcação CSS:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<html>
<head>
<title>Estudando CSS</title>

<meta name="viewport" content="width=device-width, 
  initial-scale=1">

<style type="text/css">
  body {background-image: url('fundo2.jpg')}
</style>

</head>
<body>
 
</body>
</html>



Veja mais Dicas e truques de CSS

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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



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