• Este é um repositório com os conteúdos de Linguagem de Programação Visual,
ministradas pelo professor Reinaldo Lima Pereira, utilizando o Visual Studio,
a linguagem CSharp e a estrutura de interface do Windows Forms
como ferramentas de aprendizado.
Professor | Conceitos Aprendidos 1 | Conceitos Aprendidos 2 | Conceitos Aprendidos 3
Conceitos Aprendidos 3.1 | Conceitos Aprendidos 3.2 | Conceitos Aprendidos 3.3 | Conceitos Aprendidos 3.4 Conceitos Aprendidos 3.5 | Conceitos Aprendidos 4 | Conceitos Aprendidos 4.1 | Conceitos Aprendidos 4.2 Conceitos Aprendidos 4.3 | Conceitos Aprendidos 4.4 | Conceitos Aprendidos 4.5 | Conceitos Aprendidos 5 Conceitos Aprendidos 5.1 | Conceitos Aprendidos 5.2 | Conceitos Aprendidos 5.3 | Conceitos Aprendidos 5.4 Conceitos Aprendidos 6 | Conceitos Aprendidos 7 | Conceitos Aprendidos 8 | Conceitos Aprendidos 9 Conceitos Aprendidos 9.1 | Conceitos Aprendidos 9.2 | Conceitos Aprendidos 9.3 | Conceitos Aprendidos 9.4 Conceitos Aprendidos 9.5 | Conceitos Aprendidos 9.6 | Conceitos Aprendidos 9.7 | AutorReinaldo Lima Pereira - Professor de Informática | Professor de Curso Técnico, Superior e Pós-Graduação
IFRO Campus Ji-Paraná • Atuando desde Março de 2016
Linguagens & Tecnologias: C#
• Windows Forms
• Java
• Delphi
Contato: reinaldo.pereira@ifro.local
Note
Retirado da aula de "Calculadora_WinForms"
Nesta aula foram aprendidos:
- Conceitos básicos da ferramenta do Windows Forms
- Criação labels, text-boxes e buttons com a Caixa de Ferramentas
- Algoritmos simples de Soma, Subtração, Multiplicação e Divisão
private void btnSomar_Click(object sender, EventArgs e)
{
lblResultadoNum.Text = (float.Parse(txtValor1.Text) + float.Parse(txtValor2.Text) + float.Parse(txtValor3.Text) + float.Parse(txtValor4.Text)).ToString();
}
private void btnSubtrair_Click(object sender, EventArgs e)
{
lblResultadoNum.Text = (float.Parse(txtValor1.Text) - float.Parse(txtValor2.Text) - float.Parse(txtValor3.Text) - float.Parse(txtValor4.Text)).ToString();
}
private void btnMultiplicar_Click(object sender, EventArgs e)
{
lblResultadoNum.Text = (float.Parse(txtValor1.Text) * float.Parse(txtValor2.Text) * float.Parse(txtValor3.Text) * float.Parse(txtValor4.Text)).ToString();
}
private void btnDividir_Click(object sender, EventArgs e)
{
lblResultadoNum.Text = (float.Parse(txtValor1.Text) / float.Parse(txtValor2.Text) / float.Parse(txtValor3.Text) / float.Parse(txtValor4.Text)).ToString();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValor1.Clear();
txtValor2.Clear();
txtValor3.Clear();
txtValor4.Clear();
txtValor1.Select();
lblResultadoNum.Text = "0";
}
Note
Retirado da aula de "Calc_de_Desconto_WinForms"
Nesta aula foram aprendidos:
- Criação labels, text-boxes e buttons com a Caixa de Ferramentas
- Algoritmo matemático simples de aplicação de desconto em porcentagem
private void btnCalcularDesconto_Click(object sender, EventArgs e)
{
double valorDaCompra = 0, percDeDesconto = 0, valorComDesconto = 0;
valorDaCompra = Convert.ToDouble(txtValorDaCompra.Text);
percDeDesconto = Convert.ToDouble(txtPercDeDesconto.Text);
valorComDesconto = Convert.ToDouble(lblResultadoNum.Text);
valorComDesconto = valorDaCompra - valorDaCompra * (percDeDesconto / 100);
lblResultadoNum.Text = valorComDesconto.ToString("F");
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtPercDeDesconto.Clear();
txtValorDaCompra.Clear();
txtValorDaCompra.Select();
lblResultadoNum.Text = "0";
}
Nesta aula foram aprendidos:
- Criação de novos formulários para criar novas janelas para acessar através dos botões
- Linkar o acesso de uma janela a outra através do código
- Criar um conversor de Hectares ⇆ Alqueires
- Criar um conversor de Horas ⇆ Minutos
- Criar um conversor de Metros ⇆ Km
- Criar um conversor de Hectares ⟶ Km²
Note
Retirado da aula de "Menu_de_Forms_WinForms"
private void btnConversorHecteAlqu_Click(object sender, EventArgs e)
{
FormConverterHecteAlqu form = new FormConverterHecteAlqu();
form.ShowDialog();
}
private void btnConversorMetroseKilometros_Click(object sender, EventArgs e)
{
FormConverterMetroseKilometros form = new FormConverterMetroseKilometros();
form.ShowDialog();
}
private void btnConversorHoraseMinutos_Click(object sender, EventArgs e)
{
FormConverterHoraseMinutos form = new FormConverterHoraseMinutos();
form.ShowDialog();
}
private void btnConversorHecteKmQuadrado_Click(object sender, EventArgs e)
{
FormConverterHecteKmQuadrado form = new FormConverterHecteKmQuadrado();
form.ShowDialog();
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "Menu_de_Forms_WinForms"
private void btnConverterHectare_Click(object sender, EventArgs e)
{
double valorHectare = 0, valorAlqueire = 0;
valorHectare = Convert.ToDouble(txtValorHectare.Text);
valorAlqueire = Convert.ToDouble(lblResultadoHectareParaAlqueire.Text);
valorAlqueire = valorHectare * 2.42;
lblResultadoHectareParaAlqueire.Text = valorAlqueire.ToString();
}
private void btnConverterAlquere_Click(object sender, EventArgs e)
{
double valorHectare = 0, valorAlqueire = 0;
valorAlqueire = Convert.ToDouble(txtValorAlqueire.Text);
valorHectare = Convert.ToDouble(lblResultadoAlqueireParaHectare.Text);
valorHectare = valorAlqueire / 2.42;
lblResultadoAlqueireParaHectare.Text = valorHectare.ToString();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValorHectare.Clear();
txtValorAlqueire.Clear();
txtValorHectare.Select();
lblResultadoHectareParaAlqueire.Text = "0";
lblResultadoAlqueireParaHectare.Text = "0";
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "Menu_de_Forms_WinForms"
private void btnConverterMetrosParaKm_Click(object sender, EventArgs e)
{
double valorMetros = 0, valorQuilometros = 0;
valorMetros = Convert.ToDouble(txtValorMetros.Text);
valorQuilometros = Convert.ToDouble(lblResultadoMetrosParaKm.Text);
valorQuilometros = valorMetros / 1000;
lblResultadoMetrosParaKm.Text = valorQuilometros.ToString();
}
private void btnConverterKmParaMetros_Click(object sender, EventArgs e)
{
double valorMetros = 0, valorQuilometros = 0;
valorQuilometros = Convert.ToDouble(txtValorKm.Text);
valorMetros = Convert.ToDouble(lblResultadoKmParaMetros.Text);
valorMetros = valorQuilometros * 1000;
lblResultadoKmParaMetros.Text = valorMetros.ToString();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValorMetros.Clear();
txtValorKm.Clear();
txtValorMetros.Select();
lblResultadoMetrosParaKm.Text = "0";
lblResultadoKmParaMetros.Text = "0";
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "Menu_de_Forms_WinForms"
private void btnConverterHorasParaMinutos_Click(object sender, EventArgs e)
{
double valorHoras = 0, valorMinutos = 0;
valorHoras = Convert.ToDouble(txtValorHoras.Text);
valorMinutos = Convert.ToDouble(lblResultadoHorasParaMinutos.Text);
valorMinutos = valorHoras * 60;
lblResultadoHorasParaMinutos.Text = valorMinutos.ToString();
}
private void btnConverteMinutosParaHoras_Click(object sender, EventArgs e)
{
double valorHoras = 0, valorMinutos = 0;
valorMinutos = Convert.ToDouble(txtValorMinutos.Text);
valorHoras = Convert.ToDouble(lblResultadoMinutosParaHoras.Text);
valorHoras = valorMinutos / 60;
lblResultadoMinutosParaHoras.Text = valorHoras.ToString();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValorHoras.Clear();
txtValorMinutos.Clear();
txtValorHoras.Select();
lblResultadoHorasParaMinutos.Text = "0";
lblResultadoMinutosParaHoras.Text = "0";
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "Menu_de_Forms_WinForms"
private void btnConverterHectParaKmQuadrado_Click(object sender, EventArgs e)
{
double valorHectare = 0, valorKmQuadrado = 0;
valorHectare = Convert.ToDouble(txtValorHectare.Text);
valorKmQuadrado = Convert.ToDouble(lblResultadoHectParaKmQuadrado.Text);
valorKmQuadrado = valorHectare * 0.0042;
lblResultadoHectParaKmQuadrado.Text = valorKmQuadrado.ToString();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValorHectare.Clear();
txtValorHectare.Select();
lblResultadoHectParaKmQuadrado.Text = "0";
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Nesta aula foram aprendidos:
- Message boxes para interação com o usuário
- Diferentes formas de inserir message boxes
- Eventos de click in e click out
Note
Retirado da aula de "AppExemplo2"
// Criando o Menu Principal
private void btnAlertas_Click(object sender, EventArgs e)
{
FormAlertas form = new FormAlertas();
form.ShowDialog(); // <-- Não permite que o usuário faça qualquer outra ação até que termine
// ou conclua o processo da janela atual do qual ele abriu.
}
private void btnExemploAlerta_Click(object sender, EventArgs e)
{
FormExemploAlerta form = new FormExemploAlerta(); // <-- Linkando a ação do click para abrir uma nova janela
form.ShowDialog();
}
private void btnExemploAltdeRotulo_Click(object sender, EventArgs e)
{
FormExemploRotulos form = new FormExemploRotulos();
form.ShowDialog();
}
private void btnExemploComboBox_Click(object sender, EventArgs e)
{
FormExemploComboBox form = new FormExemploComboBox();
form.ShowDialog();
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "AppExemplo2"
// Como criar Mensagens de Interação com o Usuário
private void btnInformacao_Click(object sender, EventArgs e)
{
MessageBox.Show("Texto da Menssagem", "Título da Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); // <-- Menssagem de INFORMAÇÂO
}
private void btnAtencao_Click(object sender, EventArgs e)
{
MessageBox.Show("Texto da Menssagem", "Título da Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Warning); // <-- Mensagem de ALERTA
}
private void btnErro_Click(object sender, EventArgs e)
{
MessageBox.Show("Texto da Menssagem", "Título da Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); // <-- Mensagem de ERRO
}
private void btnPergunta_Click(object sender, EventArgs e)
{
MessageBox.Show("Texto da Menssagem", "Título da Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question); // <-- Mensagem de PERGUNTA
}
private void btnExemplo_Click(object sender, EventArgs e)
{
DialogResult resposta;
resposta = MessageBox.Show("Em caminho de Paca, Tatu caminha dentro?", "Pergunta:", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
MessageBox.Show("Resposta" +resposta.ToString(), "Pergunta:", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("Deseja fechar o programa?", "Pergunta:", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(resposta == DialogResult.Yes)
{
this.Close(); // <-- Fecha o programa
}
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "AppExemplo2"
private void btnCalcular_Click(object sender, EventArgs e)
{
double valor1, valor2, total;
valor1 = Convert.ToDouble(txtValor1.Text);
valor2 = Convert.ToDouble(txtValor2.Text);
if (valor2 != 0)
{
total = valor1 / valor2;
lblResultadoDivisao.Text = total.ToString("F2");
}
else
{
MessageBox.Show("Não é possível dividir por zero!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtValor1.Clear();
txtValor2.Clear();
txtValor1.Select();
lblResultadoDivisao.Text = "0";
}
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtValor1.Clear();
txtValor2.Clear();
txtValor1.Select();
lblResultadoDivisao.Text = "0";
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "AppExemplo2"
private void btnNovo_Click(object sender, EventArgs e)
{
txtPercentual.Clear();
txtSalarioAtual.Clear();
txtSalarioAtual.Select();
lblResultado.Text = "Salário Reajustado";
lblResultado.ForeColor = Color.Black;
}
private void btnCalcular_Click(object sender, EventArgs e)
{
double salarioAtual = 0, percentual = 0, salarioReajustado;
salarioAtual = Convert.ToDouble(txtSalarioAtual.Text);
percentual = Convert.ToDouble(txtPercentual.Text);
percentual = percentual / 100;
salarioReajustado = salarioAtual + salarioAtual * percentual;
lblResultado.Text = "O salário atualizado é: " + salarioReajustado.ToString("C2"); // <-- "C2" adiciona a moeda corrente: "R$ 0,00" ao resultado numérico
lblResultado.ForeColor = Color.Blue;
}
private void txtSalarioAtual_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter) // <-- Vai para o campo seguinte
{
if(txtSalarioAtual.Text == " ") // <-- Verifica se o campo está vazio
{
MessageBox.Show("O campo está vazio!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtSalarioAtual.Select(); // <-- Volta ao campo
}
else
{
txtPercentual.Select();
}
}
}
private void txtSalarioAtual_KeyUp(object sender, KeyEventArgs e)
{
bool verificarNumero = false;
// Verificando o que foi digitado, "Número" ou "Letra"?
if((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) || (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9))
{
verificarNumero = true;
}
else
{
if (e.KeyCode == Keys.Oemcomma || e.KeyCode == Keys.Decimal) verificarNumero = true; // <-- Liberar a virgula
if (e.KeyCode == Keys.Enter) verificarNumero = true; // <-- Liberar a tecla "enter"
if (e.KeyCode == Keys.Back) verificarNumero = true; // <-- Liberar a tecla "backspace"
int qtdVirgula = txtSalarioAtual.Text.Count(v => v == ','); // <-- Contar as virgulas
if (qtdVirgula > 1) verificarNumero = false; // <-- Verificar as virgulas
}
// Validação Final: A mensagem vai aparecer se um dos dois itens não foi atendido
if (verificarNumero == false)
{
MessageBox.Show("Somente números!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtSalarioAtual.Text = txtSalarioAtual.Text.Remove(txtSalarioAtual.Text.Length- 1);
}
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
Note
Retirado da aula de "AppExemplo2"
public FormExemploComboBox()
{
InitializeComponent();
txtPercDesconto.Visible = false; // <-- A caixa de texto "Perc(%) Desconto" ficará invisível
lblPercDesconto.Visible = false; // <-- O label "Perc(%) Desconto" ficará invisível
}
private void btnCalcular_Click(object sender, EventArgs e)
{
int tipoCliente = cbTipoCliente.SelectedIndex;
double valorCompra = Convert.ToDouble(txtValorCompra.Text);
double valorDesconto = 0;
switch (tipoCliente)
{
case 0: // Cliente Diamante (25% de Desconto)
{
valorDesconto = valorCompra - valorCompra * 0.25;
lblResultado.Text = valorDesconto.ToString("C2");
break;
}
case 1: // Cliente Ouro (20% de Desconto)
{
valorDesconto = valorCompra - valorCompra * 0.20;
lblResultado.Text = valorDesconto.ToString("C2");
break;
}
case 2: // Cliente VIP (15% de Desconto)
{
valorDesconto = valorCompra - valorCompra * 0.15;
lblResultado.Text = valorDesconto.ToString("C2");
break;
}
case 3: // Cliente Comum (10% de Desconto)
{
valorDesconto = valorCompra - valorCompra * 0.10;
lblResultado.Text = valorDesconto.ToString("C2");
break;
}
case 4: // Cliente Aleatório (5% de Desconto)
{
valorDesconto = valorCompra - valorCompra * 0.05;
lblResultado.Text = valorDesconto.ToString("C2");
break;
}
default:
{
MessageBox.Show("Selecione um cliente!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
break;
}
}
}
private void btnNovo_Click(object sender, EventArgs e)
{
cbTipoCliente.SelectedIndex = -1;
txtPercDesconto.Clear();
lblResultado.Text = "R$ 0,00";
txtValorCompra.Clear();
txtPercDesconto.Visible = false; // <-- A caixa de texto "Perc(%) Desconto" ficará invisível
lblPercDesconto.Visible = false; // <-- O label "Perc(%) Desconto" ficará invisível
}
private void cbTipoCliente_SelectedIndexChanged(object sender, EventArgs e)
{
int tipoCliente = cbTipoCliente.SelectedIndex;
if (tipoCliente == 4)
{
txtPercDesconto.Visible = true; // <-- A caixa de texto "Perc(%) Desconto" ficará visível
lblPercDesconto.Visible = true; // <-- O label "Perc(%) Desconto" ficará visível
}
else
{
txtPercDesconto.Visible = false; // <-- A caixa de texto "Perc(%) Desconto" ficará invisível
lblPercDesconto.Visible = false; // <-- O label "Perc(%) Desconto" ficará invisível
}
}
private void linkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
private void txtValorCompra_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) // <-- Vai para o campo seguinte
{
if (txtValorCompra.Text == " ") // <-- Verifica se o campo está vazio
{
MessageBox.Show("O campo está vazio!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txtValorCompra.Select(); // <-- Volta ao campo
}
else
{
txtPercDesconto.Select();
}
}
}
Conjunto de forms que fazem parte da 1º avaliação da disciplina. Neste, foram aprendidos:
- Criação de um forms com um menu principal e mais 3 forms para "Simular Média", "Verificar Nota Mínima" e "Verificar Exame Final".
Note
Retirado da aula de "Atividade (14-03-24)"
using SimuladorMedia.Formularios;
namespace SimuladorMedia
{
public partial class FormSimuladorMedia : Form
{
public FormSimuladorMedia()
{
InitializeComponent();
}
private void btSimularMedia_Click(object sender, EventArgs e)
{
FormSimularMedia form = new FormSimularMedia();
form.ShowDialog();
}
private void btNotaMinima_Click(object sender, EventArgs e)
{
FormNotaMinima form = new FormNotaMinima();
form.ShowDialog();
}
private void btVerificarMedia_Click(object sender, EventArgs e)
{
FormExameFinal form = new FormExameFinal();
form.ShowDialog();
}
}
}
Note
Retirado da aula de "Atividade (14-03-24)"
private void btVerificarMedia_Click(object sender, EventArgs e)
{
double nota1 = 0, nota2 = 0;
double resultado;
string nome;
try
{
nota1 = Convert.ToDouble(txtNota1.Text);
nota2 = Convert.ToDouble(txtNota2.Text);
}
catch (FormatException)
{
MessageBox.Show("Por favor, insira apenas números válidos nas notas.", "Erro de entrada", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
nome = txtNomeAluno.Text;
resultado = (nota1 + nota2) / 2;
lblResultadoNota.Text = resultado.ToString();
if (resultado >= 60)
{
lblResultadoNota.Text = $"A sua nota foi de {resultado} pontos.";
lblAprovadoReprovado.Text = $"{nome}, você foi aprovado(a)!";
}
else
{
lblResultadoNota.Text = $"A sua nota foi de {resultado} pontos.";
lblAprovadoReprovado.Text = $"{nome}, você foi reprovado(a)!";
}
}
private void btLimpar_Click(object sender, EventArgs e)
{
txtNomeAluno.Clear();
txtNota1.Clear();
txtNota2.Clear();
lblResultadoNota.Text = "";
lblAprovadoReprovado.Text = "";
txtNomeAluno.Select();
}
Note
Retirado da aula de "Atividade (14-03-24)"
private void btVerificarNotaMinima_Click(object sender, EventArgs e)
{
double mediaFinal = 0;
double notaNecessaria = 0;
string nome;
mediaFinal = Convert.ToDouble(txtMediaFinal.Text);
nome = txtNomeAluno.Text;
notaNecessaria = (500 - 6 * mediaFinal) / 4;
if (notaNecessaria <= 0)
{
lblNotaParaPassar.Text = $"Aluno(a) {nome}, você está \naprovado(a), não é necessário \nmais nota.";
}
else
{
lblNotaParaPassar.Text = $"Aluno(a) {nome}, \nvocê precisa de {notaNecessaria} pontos \npara passar.";
}
}
private void btLimpar_Click(object sender, EventArgs e)
{
txtNomeAluno.Clear();
txtMediaFinal.Clear();
lblNotaParaPassar.Text = "";
txtNomeAluno.Select();
}
Note
Retirado da aula de "Atividade (14-03-24)"
private void btVerificarMedia_Click(object sender, EventArgs e)
{
double MediaFinal = 0.00;
double NotaAposExame = 0.00;
string nome;
try
{
MediaFinal = double.Parse(txtMediaFinal.Text);
NotaAposExame = double.Parse(txtExameFinal.Text);
}
catch (FormatException)
{
MessageBox.Show("Por favor, insira apenas números válidos nas notas.", "Erro de entrada", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
nome = txtNomeAluno.Text;
NotaAposExame = (6 * MediaFinal + 4 * NotaAposExame) / 10;
if (NotaAposExame >= 50)
{
lblAprovadoReprovado.Text = $"Parabéns {nome}! \nVocê foi aprovado(a)!";
}
else
{
lblAprovadoReprovado.Text = $"Aluno(a) {nome}, você \nnão foi aprovado(a).";
}
}
private void btLimpar_Click(object sender, EventArgs e)
{
txtNomeAluno.Clear();
txtMediaFinal.Clear();
txtExameFinal.Clear();
lblAprovadoReprovado.Text = "";
txtNomeAluno.Select();
}
Note
Retirado da aula de "Atividade (14-03-24)"
Form criado na 1º avaliação da disciplina. Neste, foram aprendidos:
- Construção de um forms complexo com seleção única de resultado dentre diversos campos disponíveis.
namespace CalculadoraJuros
{
public partial class CalculadoraJuros : Form
{
public CalculadoraJuros()
{
InitializeComponent();
}
private void btCalcular_Click(object sender, EventArgs e)
{
// Verificando se o combo-box foi inicializado e se há um item selecionado
if (cbTipoCalculo != null && cbTipoCalculo.SelectedItem != null)
{
double montante = 0, capital = 0, taxa = 0, tempo = 0;
// Verificando se os campos de entrada têm valores válidos
if (!string.IsNullOrEmpty(txtMontante.Text))
{
if (!double.TryParse(txtMontante.Text, out montante))
{
MessageBox.Show("Valor inválido em um dos campos! Digite um valor válido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
if (!string.IsNullOrEmpty(txtCapital.Text))
{
if (!double.TryParse(txtCapital.Text, out capital))
{
MessageBox.Show("Valor inválido em um dos campos! Digite um valor válido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
if (!string.IsNullOrEmpty(txtTaxa.Text))
{
if (!double.TryParse(txtTaxa.Text, out taxa))
{
MessageBox.Show("Valor inválido em um dos campos! Digite um valor válido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
if (!string.IsNullOrEmpty(txtTempo.Text))
{
if (!double.TryParse(txtTempo.Text, out tempo))
{
MessageBox.Show("Valor inválido em um dos campos! Digite um valor válido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
// Realizando o cálculo com base no tipo selecionado a partir do combo-box
switch (cbTipoCalculo.SelectedItem.ToString())
{
case "Montante":
montante = capital * (1 + taxa * tempo);
if (txtMontante.Enabled)
txtMontante.Text = montante.ToString("F2");
break;
case "Capital":
capital = montante / (1 + taxa * tempo);
if (txtCapital.Enabled)
txtCapital.Text = capital.ToString("F2");
break;
case "Taxa":
taxa = (montante - capital) / (capital * tempo);
if (txtTaxa.Enabled)
txtTaxa.Text = (taxa * 100).ToString("F2");
break;
case "Tempo":
tempo = (montante - capital) / (capital * taxa);
if (txtTempo.Enabled)
txtTempo.Text = tempo.ToString("F2");
break;
}
// Calculando e exibindo os juros
double juros = montante - capital;
lblResultadoJuros.Text = $"{juros.ToString("F2")}%";
}
else
{
MessageBox.Show("Selecione um tipo de operação primeiro!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
// Limpando os campos e restaurando as configurações-padrão
private void btLimpar_Click(object sender, EventArgs e)
{
// Limpando e resetando o ComboBox
cbTipoCalculo.SelectedIndex = -1;
cbTipoCalculo.ResetText();
// Limpando os outros campos
txtMontante.Clear();
txtCapital.Clear();
txtTaxa.Clear();
txtTempo.Clear();
// Restaurando a cor de fundo padrão dos campos de entrada
txtMontante.BackColor = SystemColors.Window;
txtCapital.BackColor = SystemColors.Window;
txtTaxa.BackColor = SystemColors.Window;
txtTempo.BackColor = SystemColors.Window;
// Habilitando a edição dos campos
txtMontante.ReadOnly = false;
txtMontante.TabStop = true;
txtCapital.ReadOnly = false;
txtCapital.TabStop = true;
txtTaxa.ReadOnly = false;
txtTaxa.TabStop = true;
txtTempo.ReadOnly = false;
txtTempo.TabStop = true;
// Limpando o label de resultado dos juros
lblResultadoJuros.Text = "";
}
// Mudando a cor de fundo do campo selecionado a partir do
// combo-box e desabilitando a edição dos outros campos
private void cbTipoCalculo_SelectedIndexChanged(object sender, EventArgs e)
{
// Verificando se um item foi selecionado no combo-box
if (cbTipoCalculo.SelectedItem != null)
{
// Restaurando a cor de fundo padrão dos campos de entrada
txtMontante.BackColor = SystemColors.Window;
txtCapital.BackColor = SystemColors.Window;
txtTaxa.BackColor = SystemColors.Window;
txtTempo.BackColor = SystemColors.Window;
// Identificando qual item foi selecionado no combo-box
switch (cbTipoCalculo.SelectedItem.ToString())
{
case "Montante":
// Destacando o campo Montante e limpando os demais campos
txtMontante.BackColor = Color.LightGreen;
txtMontante.Clear();
txtCapital.Clear();
txtTaxa.Clear();
txtTempo.Clear();
// Habilitando a edição apenas do campo Montante
txtMontante.ReadOnly = true;
txtMontante.TabStop = false;
txtCapital.ReadOnly = false;
txtCapital.TabStop = true;
txtTaxa.ReadOnly = false;
txtTaxa.TabStop = true;
txtTempo.ReadOnly = false;
txtTempo.TabStop = true;
// Limpando o label de resultado dos juros
lblResultadoJuros.Text = "";
break;
case "Capital":
// Destacando o campo Capital e limpando os demais campos
txtCapital.BackColor = Color.LightGreen;
txtMontante.Clear();
txtCapital.Clear();
txtTaxa.Clear();
txtTempo.Clear();
// Habilitando a edição apenas do campo Capital
txtMontante.ReadOnly = false;
txtMontante.TabStop = true;
txtCapital.ReadOnly = true;
txtCapital.TabStop = false;
txtTaxa.ReadOnly = false;
txtTaxa.TabStop = true;
txtTempo.ReadOnly = false;
txtTempo.TabStop = true;
// Limpando o label de resultado dos juros
lblResultadoJuros.Text = "";
break;
case "Taxa":
// Destacando o campo Taxa e limpando os demais campos
txtTaxa.BackColor = Color.LightGreen;
txtMontante.Clear();
txtCapital.Clear();
txtTaxa.Clear();
txtTempo.Clear();
// Habilitando a edição apenas do campo Taxa
txtMontante.ReadOnly = false;
txtMontante.TabStop = true;
txtCapital.ReadOnly = false;
txtCapital.TabStop = true;
txtTaxa.ReadOnly = true;
txtTaxa.TabStop = false;
txtTempo.ReadOnly = false;
txtTempo.TabStop = true;
// Limpando o label de resultado dos juros
lblResultadoJuros.Text = "";
break;
case "Tempo":
// Destacando o campo Tempo e limpando os demais campos
txtTempo.BackColor = Color.LightGreen;
txtMontante.Clear();
txtCapital.Clear();
txtTaxa.Clear();
txtTempo.Clear();
// Habilitando a edição apenas do campo Tempo
txtMontante.ReadOnly = false;
txtMontante.TabStop = true;
txtCapital.ReadOnly = false;
txtCapital.TabStop = true;
txtTaxa.ReadOnly = false;
txtTaxa.TabStop = true;
txtTempo.ReadOnly = true;
txtTempo.TabStop = false;
// Limpando o label de resultado dos juros
lblResultadoJuros.Text = "";
break;
}
}
}
}
}
Note
Retirado da aula de "AppExemploString"
Nesta aula foram aprendidos:
- Substituição de caracteres e palavras em uma string usando Replace.
- Concatenação de strings usando o operador +.
- Conversão de strings para maiúsculas e minúsculas usando ToUpper e ToLower.
- Remoção de espaços em branco no início e no final de uma string usando Trim.
- Comparação de strings usando Equals.
- Manipulação de partes de uma string usando Substring.
- Separação e formatação de informações em uma string usando Split.
namespace AppExemploString
{
internal class Program
{
static void Main(string[] args)
{
// Exemplos de Formatação de Caracteres
// Exemplo 1: Substituindo caracteres na string
string str = "Hello";
string resultado = str.Replace("l", "w");
Console.WriteLine(str); // <-- Texto original
Console.WriteLine(resultado); // <-- Texto com caracteres substituídos
Console.WriteLine();
// Exemplo 2: Substituindo palavras na string
string str1 = "Leite em pó";
string resultado2 = str1.Replace("Leite", "Achocolatado");
Console.WriteLine(str1); // <-- Texto original
Console.WriteLine(resultado2); // <-- Texto com palavras substituídas
Console.WriteLine();
// Exemplo 3: Concatenando strings
string str3 = "Olá";
string textoadd = str3 + " Mundo!";
Console.WriteLine(textoadd); // <-- Texto combinado
Console.WriteLine();
// Exemplo 4: Concatenando strings com números
int n = 3;
string textoadd2 = "A " + n + "º palavra";
Console.WriteLine(textoadd2); // <-- Texto com número
Console.WriteLine();
// Exemplo 5: Convertendo para maiúsculas
string str4 = "hello";
string maiusculo = str4.ToUpper();
Console.WriteLine(str4); // <-- Texto original
Console.WriteLine(maiusculo); // <-- Texto em maiúsculo
Console.WriteLine();
// Exemplo 6: Convertendo para minúsculas
string str5 = "HELLO";
string minusculo = str5.ToLower();
Console.WriteLine(str5); // <-- Texto original
Console.WriteLine(minusculo); // <-- Texto em minúsculo
Console.WriteLine();
// Exemplo 7: Removendo espaços em branco
string str6 = "Vamos aprender Java? >:) ";
Console.WriteLine(str6); // <-- Texto original
string res = str6.Trim();
Console.WriteLine(res); // <-- Texto sem espaços em branco
Console.WriteLine();
// Exemplo 8: Comparando strings
string str7 = "Hello";
string str8 = "Hell0";
bool bol1 = str7.Equals("Hello"); // <-- Comparando com uma string literal
bool bol2 = str7.Equals(str8); // <-- Comparando com outra string
Console.WriteLine("1: " + bol1);
Console.WriteLine("2: " + bol2);
Console.WriteLine();
// Exemplo 9: Manipulando partes de uma string
string tel = "6940028922";
string ddd = tel.Substring(0, 2); // <-- Obtendo os primeiros dígitos
string num1 = tel.Substring(2, 4); // <-- Obtendo parte do meio
string num2 = tel.Substring(6); // <-- Obtendo os últimos dígitos
string mask = $"({ddd}){num1}-{num2}";
Console.WriteLine(mask); // <-- Texto formatado
string tel2 = "(69) 4002-8922";
string ddd2 = tel2.Substring(1, 2); // <-- Obtendo os primeiros dígitos
string num3 = tel2.Substring(5, 4); // <-- Obtendo parte do meio
string num4 = tel2.Substring(10); // <-- Obtendo os últimos dígitos
string noMask = ddd2 + num3 + num4;
Console.WriteLine(noMask); // <-- Texto sem máscara
Console.WriteLine();
// Exemplo 10: Separando e formatando informações
string nome1 = "Carmen Gizelle/90/85/70";
string nome2 = "Ruben Laerte/80/80/45";
string nome3 = "Maxwell Kelvin/75/80/40";
string nome4 = "Tobias Arruda/78/85/90";
string[] nomes = { nome1, nome2, nome3, nome4 };
foreach (string aluno in nomes)
{
string[] info = aluno.Split('/');
string nome = info[0];
string matematica = info[1];
string portugues = info[2];
string ciencias = info[3];
Console.WriteLine($"Nome: {nome}");
Console.WriteLine($"Matemática: {matematica}");
Console.WriteLine($"L. Portuguesa: {portugues}");
Console.WriteLine($"Ciências: {ciencias}");
Console.WriteLine();
}
// Atividade proposta em sala: Conversão de data
Console.Write("Digite a data no formato dd/mm/aaaa: ");
string data = Console.ReadLine();
string[] partesData = data.Split('/');
string dia = partesData[0];
string mes = partesData[1];
string ano = partesData[2];
string dataAmericana = $"{ano}/{mes}/{dia}";
Console.WriteLine("\nData no formato americano: " + dataAmericana);
Console.ReadKey();
}
}
}
Note
Retirado da aula de "Atividade (28-03-24)"
Form criado na 2º avaliação da disciplina. Neste, foram aprendidos:
- Criação de um forms complexo com um múltiplas mudanças dinâmicas de características visuais para melhor interatividade com o usuário.
namespace Atividade__28_03_24_
{
public partial class FormSimulacaoComissao : Form
{
public FormSimulacaoComissao()
{
InitializeComponent();
}
private void btSimular_Click(object sender, EventArgs e)
{
// Verificando se um cargo foi selecionado
if (cbSelecaoCargo.SelectedIndex == -1)
{
MessageBox.Show("Por favor, selecione um cargo.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
// Verificando se todos os campos estão preenchidos
if (string.IsNullOrEmpty(txtSalario.Text) || string.IsNullOrEmpty(txtMeta.Text) || string.IsNullOrEmpty(txtVendas.Text))
{
MessageBox.Show("Por favor, preencha todos os campos corretamente!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
double salario, meta, vendas;
// Verificando se os campos de entrada tem valores válidos
if (!double.TryParse(txtSalario.Text, out salario) || !double.TryParse(txtVendas.Text, out vendas) || !double.TryParse(txtMeta.Text, out meta))
{
MessageBox.Show("Valor inválido em um dos campos! Digite um valor válido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// Calculando a comissão de acordo com o cargo
string cargo = cbSelecaoCargo.SelectedItem.ToString();
double comissao = 0, bonus = 0;
switch (cargo)
{
case "Vendedor Junior":
comissao = vendas * 0.04;
bonus = salario * 0.02;
break;
case "Vendedor Padrão":
comissao = vendas * 0.06;
bonus = salario * 0.02;
break;
case "Vendedor Master":
comissao = vendas * 0.08;
bonus = salario * 0.02;
break;
case "Supervisor de Vendas":
comissao = vendas * 0.10;
bonus = salario * 0.02 + vendas * 0.01;
break;
case "Gerente":
comissao = vendas * 0.10;
bonus = salario * 0.02 + vendas * 0.02;
break;
}
// Verificando se a meta foi atingida
if (vendas >= meta * 0.65)
{
// Verificando se a meta da concessionária foi atingida
if (vendas >= meta * 0.85 || cargo == "Supervisor de Vendas" || cargo == "Gerente")
{
double comissaoTotal = comissao + bonus;
double salarioFinal = salario + comissaoTotal;
lblResultadosComissao.Visible = true;
lblResultadosComissao.Text =
$"Comissão: {comissao.ToString("C2")}\n" +
$"Bônus: {bonus.ToString("C2")}\n" +
$"Comissão Total: {comissaoTotal.ToString("C2")}\n" +
$"Salário Final: {salarioFinal.ToString("C2")}";
}
else
{
MessageBox.Show("A concessionária não atingiu a meta de vendas para pagar a comissão sobre as vendas da concessionária.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("O vendedor não atingiu 65% da sua meta de vendas.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void btLimpar_Click(object sender, EventArgs e)
{
// Limpando e resetando o ComboBox
cbSelecaoCargo.SelectedIndex = -1;
cbSelecaoCargo.ResetText();
// Limpando os outros campos
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
// Restaurando a cor de fundo padrão dos campos de entrada
txtSalario.BackColor = SystemColors.Window;
txtVendas.BackColor = SystemColors.Window;
txtMeta.BackColor = SystemColors.Window;
// Limpando e restaurando os labels
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = false;
lblSubtitulo.AutoSize = false;
lblSubtitulo.TextAlign = ContentAlignment.MiddleCenter;
lblSubtitulo.Text = "{Texto de cargo selecionado}";
}
private void lblLinkJuletopi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "https://github.com/juletopi";
Process.Start(url);
}
private void cbSelecaoCargo_SelectedIndexChanged(object sender, EventArgs e)
{
// Mudando a cor de fundo dos campos de acordo com o cargo
switch (cbSelecaoCargo.SelectedIndex)
{
case 0: // Vendedor Junior
txtSalario.BackColor = Color.LightGray;
txtMeta.BackColor = Color.LightGray;
txtVendas.BackColor = Color.LightGray;
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = true;
lblSubtitulo.AutoSize = false;
lblSubtitulo.Text = "Cargo: Vendedor Junior";
break;
case 1: // Vendedor Padrão
txtSalario.BackColor = Color.LightGreen;
txtMeta.BackColor = Color.LightGreen;
txtVendas.BackColor = Color.LightGreen;
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = true;
lblSubtitulo.AutoSize = false;
lblSubtitulo.TextAlign = ContentAlignment.MiddleCenter;
lblSubtitulo.Text = "Cargo: Vendedor Padrão";
break;
case 2: // Vendedor Master
txtSalario.BackColor = Color.LightBlue;
txtMeta.BackColor = Color.LightBlue;
txtVendas.BackColor = Color.LightBlue;
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = true;
lblSubtitulo.AutoSize = false;
lblSubtitulo.TextAlign = ContentAlignment.MiddleCenter;
lblSubtitulo.Text = "Cargo: Vendedor Master";
break;
case 3: // Supervisor de Vendas
txtSalario.BackColor = Color.LightPink;
txtMeta.BackColor = Color.LightPink;
txtVendas.BackColor = Color.LightPink;
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = true;
lblSubtitulo.AutoSize = false;
lblSubtitulo.TextAlign = ContentAlignment.MiddleCenter;
lblSubtitulo.Text = "Cargo: Surpevisor de Vendas";
break;
case 4: // Gerente
txtSalario.BackColor = Color.LightSalmon;
txtMeta.BackColor = Color.LightSalmon;
txtVendas.BackColor = Color.LightSalmon;
txtSalario.Clear();
txtVendas.Clear();
txtMeta.Clear();
lblResultadosComissao.Visible = false;
lblSubtitulo.Visible = true;
lblSubtitulo.AutoSize = false;
lblSubtitulo.TextAlign = ContentAlignment.MiddleCenter;
lblSubtitulo.Text = "Cargo: Gerente";
break;
default:
break;
}
}
}
}
Conjunto de forms que fazem parte da 2º avaliação da disciplina. Neste, foram aprendidos:
- Criação de um forms com um menu principal e mais 6 forms de geração de números da sorte pra diferentes lotéricas: "LotoFácil", "LotoMania", "MegaSena", "Quina", "SuperSete" e "Dia de Sorte".
Note
Retirado da aula de "AppLoterias"
using AppLoterias.Formularios;
namespace AppLoterias
{
public partial class FormMenuPrincipal : Form
{
public FormMenuPrincipal()
{
InitializeComponent();
}
private void btnLotoFacil_Click(object sender, EventArgs e)
{
FormLotoFacil form = new FormLotoFacil();
form.ShowDialog();
}
private void btnMegaSena_Click(object sender, EventArgs e)
{
FormMegaSena form = new FormMegaSena();
form.ShowDialog();
}
private void btnLotomania_Click(object sender, EventArgs e)
{
FormLotoMania form = new FormLotoMania();
form.ShowDialog();
}
private void btnQuina_Click(object sender, EventArgs e)
{
FormQuina form = new FormQuina();
form.ShowDialog();
}
private void btnDiaDeSorte_Click(object sender, EventArgs e)
{
FormDiaDeSorte form = new FormDiaDeSorte();
form.ShowDialog();
}
private void btnSuperSete_Click(object sender, EventArgs e)
{
FormSuperSete form = new FormSuperSete();
form.ShowDialog();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormLotoFacil : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormLotoFacil()
{
InitializeComponent();
}
/*
LotoFácil
Números envolvidos: 15 números sorteados entre 1 e 25.
Classificação de chances de ganhar:
- 7 pares e 8 ímpares: "MUITO ALTO!"
- 8 pares e 7 ímpares: "ALTO!"
- 6 pares e 9 ímpares: "ALTO!"
- 9 pares e 6 ímpares: "MÉDIO!"
- 5 pares e 10 ímpares: "MÉDIO!"
- Outras combinações: "BAIXO!"
*/
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (impar == 8 && par == 7)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
if (impar == 7 && par == 8)
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
if (impar == 9 && par == 6)
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
if (impar == 6 && par == 9)
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.OrangeRed;
}
if (impar <= 5 && par >= 10)
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
if (impar >= 10 && par <= 5)
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 15) // LotoFácil são 15 números
{
numero = radNum.Next(1, 26); // LotoFácil tem 25 números
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnGerarNumeros_Click(object sender, EventArgs e)
{
GerarNumeros();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new {Numero = Numeros}).ToList();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormLotoMania : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormLotoMania()
{
InitializeComponent();
}
/*
LotoMania
Números envolvidos: 50 números sorteados entre 0 e 99.
Classificação de chances de ganhar:
- 25 pares e 25 ímpares: "MUITO ALTO!"
- 24 pares e 26 ímpares: "ALTO!"
- 26 pares e 24 ímpares: "ALTO!"
- 23 pares e 27 ímpares: "MÉDIO!"
- 27 pares e 23 ímpares: "MÉDIO!"
- Outras combinações: "BAIXO!"
*/
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (par == 25 && impar == 25)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
else if ((par == 26 && impar == 24) || (par == 24 && impar == 26))
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
else if ((par == 23 && impar == 27) || (par == 27 && impar == 23))
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
else
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 50) // Lotomania são 50 números
{
numero = radNum.Next(0, 100); // Lotomania tem números de 0 a 99
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnGerarNumeros_Click(object sender, EventArgs e)
{
GerarNumeros();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormMegaSena : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormMegaSena()
{
InitializeComponent();
}
/*
MegaSena
Números envolvidos: 6 números sorteados entre 1 e 60.
Classificação de chances de ganhar:
- 3 pares e 3 ímpares: "MUITO ALTO!"
- 4 pares e 2 ímpares: "ALTO!"
- 2 pares e 4 ímpares: "MÉDIO!"
- 5 pares e 1 ímpar: "BAIXO!"
- 1 par e 5 ímpares: "MUITO BAIXO!"
*/
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (impar == 3 && par == 3)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
if (impar == 4 && par == 2)
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
if (impar == 2 && par == 4)
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
if (impar == 5 && par == 1)
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.OrangeRed;
}
if (impar == 1 && par == 5)
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 6) // Mega Sena são 6 números
{
numero = radNum.Next(1, 61); // Mega Sena tem 60 números
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnGerarNumeros_Click_1(object sender, EventArgs e)
{
GerarNumeros();
}
private void btnLimpar_Click_1(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormQuina : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormQuina()
{
InitializeComponent();
}
/*
Quina
Números envolvidos: 5 números sorteados entre 1 e 80.
Classificação de chances de ganhar:
- 3 pares e 2 ímpares: "MUITO ALTO!"
- 2 pares e 3 ímpares: "ALTO!"
- 4 pares e 1 ímpar: "MÉDIO!"
- 1 par e 4 ímpares: "BAIXO!"
- 5 pares ou 5 ímpares: "MUITO BAIXO!"
*/
private void btnGerarNumeros_Click(object sender, EventArgs e)
{
GerarNumeros();
}
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (par == 2 && impar == 3)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 3 && impar == 2)
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 4 && impar == 1)
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
else if (par == 1 && impar == 4)
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.OrangeRed;
}
else
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 5) // Quina são 5 números
{
numero = radNum.Next(1, 81); // Quina tem números de 1 a 80
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnLimpar_Click(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormSuperSete : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormSuperSete()
{
InitializeComponent();
}
/*
SuperSete
Números envolvidos: 7 números sorteados entre 1 e 9.
Classificação de chances de ganhar:
- 4 pares e 3 ímpares: "MUITO ALTO!"
- 3 pares e 4 ímpares: "ALTO!"
- 5 pares e 2 ímpares: "MÉDIO!"
- 2 pares e 5 ímpares: "MÉDIO!"
- 6 pares e 1 ímpar: "BAIXO!"
- 1 par e 6 ímpares: "BAIXO!"
*/
private void btnGerarNumeros_Click(object sender, EventArgs e)
{
GerarNumeros();
}
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (par == 3 && impar == 4)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 4 && impar == 3)
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 2 && impar == 5)
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
else if (par == 5 && impar == 2)
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.OrangeRed;
}
else
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 7) // SuperSete são 7 números
{
numero = radNum.Next(0, 10); // SuperSete tem números de 0 a 9
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnLimpar_Click(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
}
Note
Retirado da aula de "AppLoterias"
namespace AppLoterias.Formularios
{
public partial class FormDiaDeSorte : Form
{
public List<int> NumerosDaSorte = new List<int>();
public FormDiaDeSorte()
{
InitializeComponent();
}
/*
Dia de Sorte
Números envolvidos: 7 números sorteados entre 1 e 31.
Classificação de chances de ganhar:
- 4 pares e 3 ímpares: "MUITO ALTO!"
- 3 pares e 4 ímpares: "ALTO!"
- 5 pares e 2 ímpares: "MÉDIO!"
- 2 pares e 5 ímpares: "MÉDIO!"
- 6 pares e 1 ímpar: "BAIXO!"
- 1 par e 6 ímpares: "BAIXO!"
*/
public void Classificacao(int par, int impar)
{
lblPar.Text = "Pares: " + par;
lblImpar.Text = "Ímpares: " + impar;
// Estatísticas
if (par == 4 && impar == 3)
{
lblClass.Text = "MUITO ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 3 && impar == 4)
{
lblClass.Text = "ALTO!";
lblClass.ForeColor = Color.Green;
}
else if (par == 5 && impar == 2)
{
lblClass.Text = "MÉDIO!";
lblClass.ForeColor = Color.Orange;
}
else if (par == 2 && impar == 5)
{
lblClass.Text = "BAIXO!";
lblClass.ForeColor = Color.OrangeRed;
}
else
{
lblClass.Text = "MUITO BAIXO!";
lblClass.ForeColor = Color.Red;
}
}
public void GerarNumeros()
{
int numero = 0;
int contador = 0;
int qtdPar = 0;
int qtdImpar = 0;
Random radNum = new Random();
NumerosDaSorte.Clear();
while (contador < 7) // Dia de Sorte são 7 números
{
numero = radNum.Next(1, 32); // Dia de Sorte tem números de 1 a 31
if (NumerosDaSorte.Contains(numero) == false)
{
NumerosDaSorte.Add(numero);
if (numero % 2 == 0) qtdPar++;
if (numero % 2 == 1) qtdImpar++;
contador++;
}
NumerosDaSorte = NumerosDaSorte.OrderBy(num => num).ToList();
Classificacao(qtdPar, qtdImpar);
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
private void btnGerarNumeros_Click(object sender, EventArgs e)
{
GerarNumeros();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
NumerosDaSorte.Clear();
lblPar.Text = "Pares: 0";
lblImpar.Text = "Ímpares: 0";
lblClass.Text = "Classificação";
lblClass.ForeColor = Color.Black;
dgvNumeros.DataSource = NumerosDaSorte.Select(Numeros => new { Numero = Numeros }).ToList();
}
}
}
|