Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

PedroSilva21

como calcular a média de um vector

Mensagens Recomendadas

PedroSilva21

1. Ler para um vetor os seguintes dados de uma turma, cujo número de alunos é solicitado à partida: nome, sexo, projeto 1, projeto 2 (valor entre 0 e 70 pontos) e frequência (valor entre 0 e 60 pontos);

2. Apresentar o nome e classificação do 1º aluno que obteve a melhor nota da turma (somente um);

3. Apresentar o total de alunos aprovados e reprovados, sabendo que, para ser aprovado o aluno necessita de uma nota >= 10,0 valores e frequência >= 30 pontos;

4. Apresentar o nome dos alunos que obtiveram a melhor nota da turma (pode ter mais do que um);

5. Apresentar o número de homens e mulheres que obtiveram nota superior à média das notas da turma;

6. Solicitar o nome de um aluno e apresentar os seus dados.

estou a fazer este exercicio, e cheguei ao ponto 5 e bloqueiei, pois não estou a conseguir calcular a média.

podiam-me ajudar, é que eu preciso entregar este trabalho até amanhã ao final da tarde, por isso agradecia que me ajudassem o mais depressa possivel.

obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PedroSilva21

até agora, já fiz isto:

Aluno[] turma = null;
	int numAlunos = 0;
	int i = -1;
	double melhorNota = 0;
	double NF = 0;
	double media = 0;
	string melhorAluno;
	int Aprovados = 0;
	int Reprovados = 0;
	int p = 0;
	int NotaMulher = 0;
	int NotaHomem = 0;


public MainWindow()
	{
		InitializeComponent();
	}

	private void BtnInserir_Click(object sender, RoutedEventArgs e)
	{
		if (txtAlunosTurma.Text == "") { txtAlunosTurma.Text = "Vazio"; }
		else
		{

			numAlunos = Convert.ToInt32(txtAlunosTurma.Text);
			if (numAlunos > 0)
			{
				turma = new Aluno[numAlunos];
				txtAlunosTurma.IsReadOnly = true;

				MessageBox.Show("O número total de alunos na turma é   " + numAlunos);
			}
			else { MessageBox.Show("Erro!!!"); }

			txtAlunosTurma.Text = "";
		}
	}

	private void BtnAdicionar_Click(object sender, RoutedEventArgs e)
	{
		int numAluno;
		bool gravar = true;
		i++;

		if (i >= numAlunos)
		{
			MessageBox.Show("Sem espaço para inserir mais alunos!");
			i--;
		}
		else
		{

			numAluno = Convert.ToInt32(txtNumeroAluno.Text);
			if (numAluno <= 0)
			{
				MessageBox.Show("Erro! O numero de aluno tem de ser maior que zero!");
			}


			string NomeAluno;
			char genero;
			double proj1, proj2, freq;

			NomeAluno = txtNome.Text;
			if (NomeAluno.Length == 0) { NomeAluno = "Sem nome"; }

			string linha = txtGenero.Text;
			if (txtGenero.Text.Length != 1) genero = 'S';
			else
			{
				genero = Convert.ToChar(linha.ToUpper());

			}

			proj1 = Convert.ToDouble(txtproj1.Text);
			if (proj1 < 0.0 || proj1 > 70.0)
			{

				MessageBox.Show("Erro!! O projecto 1 tem de ser maior que zero ou menor que setenta!");
				gravar = false;
			}
			proj2 = Convert.ToDouble(txtproj2.Text);
			if (proj2 < 0.0 || proj2 > 70.0)
			{
				MessageBox.Show("Erro!! O projecto 2 tem de ser maior que zero ou menor que setenta!");
				gravar = false;
			}
			freq = Convert.ToDouble(txtfreq.Text);
			if (freq < 0.0 || freq > 60.0)
			{

				MessageBox.Show("Erro, a frequencia tem de ser maior que zero ou menor que sessenta!");
				gravar = false;
			}

			if (gravar == false)
			{
				MessageBox.Show("Impossivel gravar devido a dado incorrecto");
				i--;
			}



			NF = (freq + proj1 + proj2) * 0.1;

			if (melhorNota < NF)
			{
				melhorNota = NF;
				melhorAluno = NomeAluno;
			}

			if (NF >= 10 && freq >= 30) { Aprovados++; } else { Reprovados++; }

			if (NF > media && genero == 'F') NotaMulher++;
			if (NF > media && genero == 'M') NotaHomem++;


			turma[i] = new Aluno(numAluno, NomeAluno, genero, proj1, proj2, freq, NF);
			MessageBox.Show("Gravado");
			txtNumeroAluno.Text = "";
			txtNome.Text = "";
			txtGenero.Text = "";
			txtproj1.Text = "";
			txtproj2.Text = "";
			txtfreq.Text = "";


		}
	}

tal como disse anteriormente, eu tenho de entregar o trabalho hoje, se pudessem me ajudar o mais rápido possivel, agradecia

Editado por apocsantos
tag code + geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.