Ir ao conteúdo
  • Cadastre-se

Como calcular média de turma com alunos dinamicos


Posts recomendados

http://pastebin.com/A6HC0Gqx

 

Olá a todos do forum.

 

Sou novo aqui, e gostaria de iniciar minha jornada compartilhando uma dúvida minha que pode ser a de outros muitos.

 

Eu estou escrevendo um código para um exercício do meu curso. E eu preciso calcular a média da turma, ou seja calcular a média de todos os alunos.

 

Porém o número de alunos nesse programa é dinamico, ou seja ao terminar de lançar um aluno, eu tenho a opção de lançar mais um, ou finalizar o programa e gerar o relatório.

 

Por causa disso estou com dificuldades em definir a minha variável media_turma. Pois será uma variável com uma variável dinamica dentro.

 

Agradeço desde já a atenção cedida.

Link para o comentário
Compartilhar em outros sites

você tem 2 formas de fazer isso. A primeira é informando com antecipação a quantidade de alunos, porém eu não considero isso dinâmico, se bem que podemos usar realloc para "aumentar" o tamanho da lista de alunos. A melhor opção passa por LISTAS SIMPLESMENTE ENCADEADAS que é uma lista que vai, digamos, aumentando seus nodos. Cada aluno se considera um nodo, e a cada aluno inserido se irá aumentando os nodos da lista, essa seria a forma de fazer uma lista dinâmica 100%. O problema das Listas simplesmente encadeadas é que não sei se seu professor lhe encarregou isso, pois digamos que tem uma complexidade algo elevada, primeiro deverias aprender tudo sobre memória dinâmica, estruturas, funções, ponteiros, etc, etc.

Link para o comentário
Compartilhar em outros sites

Cara, a minha ideia é fazer o lançamento de alunos de forma dinamica, ou seja eu não devo informar o número de alunos. 

 

Realmente é algo relativamente complexo, por isso que estou pedindo ajuda aqui. Porém acredito que vá ter que estudar mais e ampliar meu conhecimento sobre ponteiros.

Link para o comentário
Compartilhar em outros sites

Sério, eu já tava imaginando duas variáveis e um contador e um mera e simples while.

Observe :D

//Authr Mauro Britivaldo
#include <stdio.h>

float funcAverage( void );
int main( void )
{
  printf( "Media %f\n\n", funcAverage() );
    return 0;
}

float funcAverage( void )
{
  static float a   = .0f, in;
  static int count = 0;

  printf( "#%d]entre com nota:", ++count );
  scanf( "%f",&in );
  a += in;

  printf( "Novo Aluno (s/n) " );
  while( '\n' != getchar() )continue;

  if( 's' == getchar() )funcAverage( );
  return (a/count);

}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...