none
Sistema de Médias de alunos RRS feed

  • Pergunta

  • Boa tarde galera estou com o seguinte problema estou tentando fazer um sistema de média de alunos só que esta havendo provavelmente um erro de lógica, pois a programação esta toda certa não aparecem erros nenhum só quem não segue a sequencia lógica correta. Quero que ele verifique se quando eu selecionar uma determinada matéria ele me fale a média através de um MessegeBox, mas ele não faz ele somente verifica o primeiro IF já os demais ele não verifica queria saber o pq disso. Segue o código abaixo:

    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace Sistema_Médias
    {
        public partial class Form1 : Form
        {
            double n1, n2, media;
            private void button3_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("Deseja sair do programa?", "                Finalizando Programa", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                }
                else
                {
                    textNOME.Clear();
                    textNOME.Focus();
                }
            }
            private void button2_Click(object sender, EventArgs e)
            {
                comboCURSO.ResetText();
                textNOME.Clear();
                comboTURNO.ResetText();
                comboPERIODO.ResetText();
                comboSEMESTRE.ResetText();
                comboDISCIPLINA.ResetText();
                textNOTA1.Clear();
                textNOTA2.Clear();
                listBOLETIM.Visible = false;
                listBOLETIM.Items.Clear();
            }
            private void btINSERIR_Click(object sender, EventArgs e)
            {
                if ((textNOME.Text == "") || (comboDISCIPLINA.Text == "") || (textNOTA1.Text == "") || (textNOTA2.Text == ""))
                {
                    MessageBox.Show("Todos os dados devem ser preenchidos.", "                                   ATENÇÃO         ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                
              
               else if ((comboDISCIPLINA.SelectedItem.ToString()== "Cenários e Tecnologias da Informação")||(media >= 6) || (n1 >= 4) || (n2 >= 4))
                {
                    n1 = Convert.ToDouble(textNOTA1.Text);
                    n2 = Convert.ToDouble(textNOTA2.Text);
                    media = (n1 + n2) / 2;
                    media = Math.Round(media, 2);
                    MessageBox.Show("Parabéns você esta aprovado sua média é:" + media);
                    listBOLETIM.Visible = true;
                    listBOLETIM.Items.Add("Curso:  " + comboCURSO.SelectedItem);
                    listBOLETIM.Items.Add("Nome:  " + textNOME.Text);
                    listBOLETIM.Items.Add("Turno:  " + comboTURNO.SelectedItem);
                    listBOLETIM.Items.Add("Periodo:  " + comboPERIODO.SelectedItem);
                    listBOLETIM.Items.Add("Semestre:  " + comboSEMESTRE.SelectedItem);
                    listBOLETIM.Items.Add(comboDISCIPLINA.SelectedItem.ToString() + media);
                    listBOLETIM.Items.Add("-------------------------------------------------------------------------");
                }
                else if ((comboDISCIPLINA.SelectedItem.ToString() == "Cenários e Tecnologias da Informação")||(media < 6) || (n1 < 4) || (n2 < 4))
                {
                    n1 = Convert.ToDouble(textNOTA1.Text);
                    n2 = Convert.ToDouble(textNOTA2.Text);
                    media = (n1 + n2) / 2;
                    media = Math.Round(media, 2);
                    MessageBox.Show("Que pena você terá que fazer a AV3, sua média é: " + media);
                }
            }
            private void comboDISCIPLINA_SelectedIndexChanged(object sender, EventArgs e)
            {
            }
            private void comboCURSO_SelectedIndexChanged(object sender, EventArgs e)
            {
            }
            public Form1()
            {
                InitializeComponent();
                listBOLETIM.Visible = false;
            }
            private void Form1_Load(object sender, EventArgs e)
            {
            }
        }
    }

    sábado, 19 de março de 2016 18:11

Respostas

  • ' Calcule a média antes da verificação no bloco do IF com os valores:

    'Para calcular a média, você pode importar o namespace system.math, é próprio para isso e é bom para uma série de dados grandes, mas somente para dois valores é tranquilo.

    Então faça assim:

                              

    if ((textNOME.Text == "") || (comboDISCIPLINA.Text == "") || (textNOTA1.Text == "") || (textNOTA2.Text == ""))
                {
                    MessageBox.Show("Todos os dados devem ser preenchidos.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }else{

                     //calcula a média antes do bloco de verificação

                    n1 = Convert.ToDouble(textNOTA1.Text);
                    n2 = Convert.ToDouble(textNOTA2.Text);
                   
    media = (n1 + n2) / 2;
                    media = Math.Round(media, 2);


     if ((media >= 6))
                {


    MessageBox.Show("Parabéns você esta aprovado sua média é:" + media);

                    listBOLETIM.Visible = true;
                    listBOLETIM.Items.Add("Curso:  " + comboCURSO.SelectedItem);
                    listBOLETIM.Items.Add("Nome:  " + textNOME.Text);
                    listBOLETIM.Items.Add("Turno:  " + comboTURNO.SelectedItem);
                    listBOLETIM.Items.Add("Periodo:  " + comboPERIODO.SelectedItem);
                    listBOLETIM.Items.Add("Semestre:  " + comboSEMESTRE.SelectedItem);
                    listBOLETIM.Items.Add(comboDISCIPLINA.SelectedItem.ToString() + media);
                    listBOLETIM.Items.Add("-------------------------------------------------------------------------");
                }
                else
                {
                    MessageBox.Show("Que pena você terá que fazer a AV3, sua média é: " + media);
                }}

    sábado, 19 de março de 2016 22:28

Todas as Respostas

  • ' Calcule a média antes da verificação no bloco do IF com os valores:

    'Para calcular a média, você pode importar o namespace system.math, é próprio para isso e é bom para uma série de dados grandes, mas somente para dois valores é tranquilo.

    Então faça assim:

                              

    if ((textNOME.Text == "") || (comboDISCIPLINA.Text == "") || (textNOTA1.Text == "") || (textNOTA2.Text == ""))
                {
                    MessageBox.Show("Todos os dados devem ser preenchidos.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }else{

                     //calcula a média antes do bloco de verificação

                    n1 = Convert.ToDouble(textNOTA1.Text);
                    n2 = Convert.ToDouble(textNOTA2.Text);
                   
    media = (n1 + n2) / 2;
                    media = Math.Round(media, 2);


     if ((media >= 6))
                {


    MessageBox.Show("Parabéns você esta aprovado sua média é:" + media);

                    listBOLETIM.Visible = true;
                    listBOLETIM.Items.Add("Curso:  " + comboCURSO.SelectedItem);
                    listBOLETIM.Items.Add("Nome:  " + textNOME.Text);
                    listBOLETIM.Items.Add("Turno:  " + comboTURNO.SelectedItem);
                    listBOLETIM.Items.Add("Periodo:  " + comboPERIODO.SelectedItem);
                    listBOLETIM.Items.Add("Semestre:  " + comboSEMESTRE.SelectedItem);
                    listBOLETIM.Items.Add(comboDISCIPLINA.SelectedItem.ToString() + media);
                    listBOLETIM.Items.Add("-------------------------------------------------------------------------");
                }
                else
                {
                    MessageBox.Show("Que pena você terá que fazer a AV3, sua média é: " + media);
                }}

    sábado, 19 de março de 2016 22:28
  • Valeu Cara muito obrigado
    domingo, 20 de março de 2016 02:47