Ir ao conteúdo
  • Cadastre-se

Tirar media de cada dado separado.


Posts recomendados

Olá, preciso de uma ajuda em um programa em que você escolhe a quantidade de notas que será computada para cada aluno que será cadastrado, assim no final do programa tem que mostrar a media de cada nota (Ex: media nota 1 = 5.5, media nota 2 = 7.5) e assim tirar a media geral.

Agradeço desde já.

#include <stdio.h>
#include <stdlib.h>

#define TRUE 1
#define FALSE 0
#define bool  int



#define MAX_NUMERO_NOTAS          12
#define MIN_COMPRIMENTO_NOME       3
#define MAX_COMPRIMENTO_NOME      20
#define MIN_NUMERO_ALUNO         100 
#define MAX_NUMERO_ALUNO        1999
#define NOTA_MINIMA 			 0.0
#define NOTA_MAXIMA 			10.0
#define NOTA_MINIMA_APROVACAO 	 6.0

#include "aluno.h"

  
  int  contAlunos = 0; 
  int  numNotas ;
  float medGeral = 0.0;
  float medG = 0.0;
  
  numNotas = lerNumeroNotas();      
  if(numNotas>0)                   
  {
                                    
    printf("Serao processadas %d notas por aluno.\n\n",numNotas);
                                    
    bool repetir;       
    do                           
      {
        medGeral+=processaAluno(numNotas);  
        contAlunos++;             
        repetir=promptRepetir();  
      } 
      while(repetir);          
      
      medG=medGeral/contAlunos;
      
      printf("\n");
      printf("---------------------------------------------------------------------\n");        
      printf("Total de %d alunos processados.\n\n", contAlunos);
      printf("---------------------------------------------------------------------\n");
      printf("Media de Cada Nota:\n\n");
      printf("---------------------------------------------------------------------\n");
      
      printf("---------------------------------------------------------------------\n");
      printf("Media Geral da Turma = %5.1f\n\n",medG);
      printf("---------------------------------------------------------------------\n");
  };
        
  
  system("PAUSE");	
  return 0;
  
};



//Acredito que teria que tirar a media de cada nota separadamente desta função mas não sei bem como.
//Segue parte do parametro "aluno.h"

float mediaSimplesVetor(int n, float x[]) {
   int i;
   float soma=0.0;
   for(i=0; i<n; i++) soma=soma+x[i];  
   return soma/n;  
}


float processaAluno(int n) {
 
  int   numAluno;  
  
  char *nome;
                                   
  char  primNomeAluno[MAX_COMPRIMENTO_NOME+1];                 
  char  sobrNomeAluno[MAX_COMPRIMENTO_NOME+1];                 

  float notaAluno[MAX_NUMERO_NOTAS];   
  float mediaAluno;                    
  
  printf("---------------------------------------------------------------------\n");  
  numAluno  = lerNumero();             

  nome      = lerNome("nome",numAluno);         
  strcpy(primNomeAluno, nome);                  

  nome      = lerNome("sobrenome",numAluno);    
  strcpy(sobrNomeAluno, nome);                  

  printf("\n");  
  printf("Serao processadas agora as notas do aluno %d, \"%s %s\"\n",numAluno, primNomeAluno, sobrNomeAluno);
   
  int i;
  
  for(i=0; i<n; i++) {  
          notaAluno[i] = lerNota(numAluno, i+1);  // ler a nota i
  };
  
  mediaAluno = mediaSimplesVetor( n, notaAluno );  
  printf("\n");
  printf("Media das %d nota do aluno %d = %5.1f\n", n, numAluno, mediaAluno);
  
 
  if(NOTA_MINIMA_APROVACAO<=mediaAluno)
	printf("Situacao do Aluno: APROVADO");
  else
  	printf("Situacao do Aluno: REPROVADO");
  
  
  printf("\n"); 
  return mediaAluno;   
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Heder Waine     você quer a media de todas as notas 1 depois todas as notas 2 e assim para todas as notas do aluno? 

experimente esse código aqui :

#include <stdio.h>
#include <conio.h>
#include <string.h>
int a,b,c,i,j;
float soma;

int main(){
    printf("Informe a Quantidade De Alunos ");
    scanf("%d",&a);
    printf("Informe a Quantidade De Notas ");
    scanf("%d",&b);
    b++;
    char alunos[a][b][20],op;
    op='s';
    c=a;
    a=0;
    do{
        printf("Digite O Nome Do %d Aluno ",a+1);
        scanf("%s",&alunos[a][0]);
        for(i=1;i<b;i++){
            printf("Digite a %d Nota do aluno %s ",i,alunos[a][0]);
            scanf("%s",&alunos[a][i]);
        }
        printf("\nQuer Continuar  S/N ");
        a++;
        scanf("%s",&op);
        if(a>=c&&op=='s'){printf("\nSo Pode No Maximo %d Alunos      Tecle\n",a);getch();}
    }while(op!='n' && a<c);
    printf("\n");
    for(i=1;i<b;i++){
        soma=0;
        for(j=0;j<a;j++){
            soma=soma+(float)(atoi(alunos[j][i]));
        }
        printf("\nA Media Das Nota %d Foi %.2f",i,(float)soma/a);
    }
    printf("\n");
    return 0;
}

 

  • Curtir 1
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...