//--------------------------------------------------------------/
// Disciplina....: Algoritmo 1 /
// Professor.....: Jander Moreira /
// Tutora virtual: Ana Sanches /
// Atividade.....: AA4.4 /
// Aluno..........: Celso Garcia da Silva /
// RA............: 435457 /
// Data..........: 24/05/2011 /
//--------------------------------------------------------------/
// Descrição /
// Após entrada do número da sala e as notas do aluno, o progra-/
// ma mostrará no final: a Média Geral, a Sala com melhor média /
// e a Média das salas. /
//--------------------------------------------------------------/
/* Para usar o programa o usuario devera digitar o numero da sala *
* apos isto ele digita as notas dos alunos daquela sala, ao ter- *
* mino o usuario digita 99 e o programa pede a entrada de outra *
* sala ao termino da digitação de todos os alunos da ultima sala*
* o usuario digita 99 e quando pedir outra sala,digita zero e o *
* programa mostra os resultados e finaliza. *
*----------------------------------------------------------------*/
# include <stdio.h>
# include <stdlib.h>
int main(int args, char * arg[])
{
int numeroDaSala,
totalDeAlunos,
totalDeAlunosPorClasse,
quantidadeDeClasses,
numeroDaClasseDeMaiorMedia;
float salaComMaiorMedia,
mediaGeral,
notaDoAluno,
somaGeralDasNotas,
mediaDaSala,
somaNotasDaClasse,
mediaDeTodasSalas;
// inicia as variáveis
numeroDaSala = 0;
totalDeAlunos = 0;
totalDeAlunosPorClasse = 0;
quantidadeDeClasses = 0;
numeroDaClasseDeMaiorMedia = 0;
salaComMaiorMedia = 0.0;
mediaGeral = 0.0;
notaDoAluno = 0.0;
somaGeralDasNotas = 0.0;
mediaDaSala = 0.0;
somaNotasDaClasse = 0.0;
mediaDeTodasSalas = 0.0;
do
{
printf("\nEntre com o numero da sala - (0-Finaliza): ");
scanf("%d", &numeroDaSala);
if (numeroDaSala == 0)
break;
while (numeroDaSala > 0)
{
printf("Entre com a nota do aluno - (99 finaliza sala): ");
scanf("%f", ¬aDoAluno);
if (notaDoAluno == 99)
{
break;
}
else
{
while (notaDoAluno < 0 || notaDoAluno > 10)
{
printf("Nota invalida - redigite (1-10): ");
scanf("%f", ¬aDoAluno);
}
totalDeAlunos = totalDeAlunos + 1;
somaGeralDasNotas = somaGeralDasNotas + notaDoAluno;
totalDeAlunosPorClasse = totalDeAlunosPorClasse + 1;
somaNotasDaClasse = somaNotasDaClasse + notaDoAluno;
}
}
quantidadeDeClasses = quantidadeDeClasses + 1;
mediaDaSala = somaNotasDaClasse / totalDeAlunosPorClasse;
totalDeAlunosPorClasse = 0;
somaNotasDaClasse = 0;
mediaDeTodasSalas = ((mediaDeTodasSalas * (quantidadeDeClasses - 1))
+ mediaDaSala) / quantidadeDeClasses;
if (mediaDaSala > salaComMaiorMedia)
{
salaComMaiorMedia = mediaDaSala;
numeroDaClasseDeMaiorMedia = numeroDaSala;
}
}
while (numeroDaSala != 0);
if (totalDeAlunos == 0)
printf("\nNao ha alunos cadastrados para fazer as medias\n\n");
else
{
mediaGeral = somaGeralDasNotas / totalDeAlunos;
system("CLS");
printf(" Resultado Final\n");
printf("+--------------------------------+\n");
printf("Media Geral..........: %.1f\n", mediaGeral);
printf("Sala com melhor media: %d\n", numeroDaClasseDeMaiorMedia);
printf("Media das salas......: %.1f\n", mediaDeTodasSalas);
printf("---------------------------------+\n");
}
system("PAUSE");
return 0;
}