Ir ao conteúdo
  • Cadastre-se
Poxeto di pogamadô

Como calcular média de turma com alunos dinamicos

Recommended Posts

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.

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
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);

}

 

Editado por Mauro Britivaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×