Programa em Windows Forms com C# de Cálculo de Média

Neste artigo vocês verão um programa simples em Windows Forms com C#, que faz o Cálculo de Média de uma determinada escola. Acompanhem.

Olá pessoal, neste post apresento a vocês um programa usando Windows Forms com C#, para calcular a média dos alunos de uma determinada escola. O programa pede para o usuário inserir quatro notas válidas de 0 a 10, permitindo valores decimais, e clicando em um botão é feito o cálculo das notas e exibido logo abaixo a maior nota, a menor nota e a média. Observe como fica na Figura 1

Figura 1. Programa pronto

O primeiro passo é criar um novo projeto conforme a Figura 2.

Figura 2. Iniciando projeto

Após o ok, construa o formulário igual ao da Figura 3.

Figura 3. Construção do formulário

Aperte F7 para ir para o source code, ou abra no Solution Explorer o arquivo Form1.cs e insira os códigos da Listagem 1.

namespace ExemploMediaAlunos { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void Calcular() { try { //Declaro as variáveis, as converto para decimal e as jogo nos labels decimal nota1, nota2, nota3, nota4, maiornota, menornota, media; nota1 = Convert.ToDecimal(txtNota1.Text); nota2 = Convert.ToDecimal(txtNota2.Text); nota3 = Convert.ToDecimal(txtNota3.Text); nota4 = Convert.ToDecimal(txtNota4.Text); maiornota = Convert.ToDecimal(IsTextValidated(lblMaiorNota.Text)); menornota = Convert.ToDecimal(IsTextValidated(lblMenorNota.Text)); media = Convert.ToDecimal(IsTextValidated(lblMedia.Text)); //Teste condicional para descobrir qual é a maior nota if (nota1 > nota2 && nota1 > nota3 && nota1 > nota4) { maiornota = nota1; } else if (nota2 > nota1 && nota2 > nota3 && nota2 > nota4) { maiornota = nota2; } else if (nota3 > nota1 && nota3 > nota2 && nota3 > nota4) { maiornota = nota3; } else { maiornota = nota4; } //Teste condicional para descobrir qual é a menor nota if (nota1 < nota2 && nota1 < nota3 && nota1 < nota4) { menornota = nota1; } else if (nota2 < nota1 && nota2 < nota3 && nota2 < nota4) { menornota = nota2; } else if (nota3 < nota1 && nota3 < nota2 && nota3 < nota4) { menornota = nota3; } else { menornota = nota4; } //Faço a conversão dos valores das labels para string lblMaiorNota.Text = maiornota.ToString(); lblMenorNota.Text = menornota.ToString(); //Calculo a média das notas e as armazeno na label media = (nota1 + nota2 + nota3 + nota4) / 4; lblMedia.Text = media.ToString(); } catch (FormatException) { //Caso ocorra algum erro, apresento uma mensagem ao usuário MessageBox.Show("Digite números de 0 a 10, com ou sem vírgulas", "Mensagem do Sistema"); } } private bool IsTextValidated(string strTextEntry) { //Método para não deixar o label vazio, senão dá erro de InvalidCast Regex objNotWholePattern = new Regex("[^0-9]"); return !objNotWholePattern.IsMatch(strTextEntry); } public void Limpar() { //Limpo as variáveis txtNota1.Text = ""; txtNota2.Text = ""; txtNota3.Text = ""; txtNota4.Text = ""; lblMaiorNota.Text = ""; lblMenorNota.Text = ""; lblMedia.Text = ""; lblResultado.Text = ""; } public void Sair() { //Crio o método para o botão Sair DialogResult result; result = MessageBox.Show("Tem certeza que deseja sair?", "Mensagem do Sistema", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.Yes) { this.Close(); } } private void txtNota1_KeyPress(object sender, KeyPressEventArgs e) { //Teste condicional para aceitar números no textbox if (!(char.IsDigit(e.KeyChar))) { e.Handled = true; } //Teste condicional para aceitar a tecla Backspace e vírgula if (e.KeyChar == 8 || e.KeyChar == 44) { e.Handled = false; } } private void txtNota2_KeyPress(object sender, KeyPressEventArgs e) { if (!(char.IsDigit(e.KeyChar))) { e.Handled = true; } if (e.KeyChar == 8 || e.KeyChar == 44) { e.Handled = false; } } private void txtNota3_KeyPress(object sender, KeyPressEventArgs e) { if (!(char.IsDigit(e.KeyChar))) { e.Handled = true; } if (e.KeyChar == 8 || e.KeyChar == 44) { e.Handled = false; } } private void txtNota4_KeyPress(object sender, KeyPressEventArgs e) { if (!(char.IsDigit(e.KeyChar))) { e.Handled = true; } if (e.KeyChar == 8 || e.KeyChar == 44) { e.Handled = false; } } private void btnCalcular_Click(object sender, EventArgs e) { Calcular(); } private void btnLimpar_Click(object sender, EventArgs e) { Limpar(); } private void btnSair_Click(object sender, EventArgs e) { Sair(); } } }
Listagem 1. Codificação do projeto

Artigos relacionados