Bom dia! Comecei a trabalhar em C há algumas semanas atrás e tenho um trabalho para entregar na quinta. O único problema é que nem todas as funcionalidades do meu programa estão a trabalhar devidamente. Se alguém me poder ajudar, agradeço.
O programa devia de calcular:
-- A media da turma;
-- A media de cada aluno;
-- A media maxima e a media minima;
-- Quantos alunos tiveram media positiva;
-- Quantos alunos tiveram media negativa;
- Quantos alunos tiveram nota superior a 16;
- Quantos alunos tiveram nota entre 12 e 15.
- Quantos alunos tiveram nota inferior a 10.
As últimas 3 partes do programa, por alguma razão, não estão a funcionar devidamente. :X
Aqui está o código:
#include <stdio.h>
#include <stdlib.h>
main()
{
/*
-- A media da turma;
-- A media de cada aluno;
-- A media maxima e a media minima;
-- Quantos alunos tiveram media positiva;
-- Quantos alunos tiveram media negativa;
- Quantos alunos tiveram nota superior a 16;
- Quantos alunos tiveram nota entre 12 e 15.
- Quantos alunos tiveram nota inferior a 10.
*/
/*
n1 = nota1, n2 = nota2, maior=media maior, menor= media menor, mediaf = media final
na = numero de alunos, c = controlo, nap = numero de alunos com media positiva, nan = numero de alunos com media negativa
ns16 - numero de alunos com nota superior a 16, n12_n15 - nota superior a 12 e inferior a 15,ni10 - numero de alunos com nota inferior a 10 */
float n1, n2, maior, menor, mediaf;
float media[32];
char nome[32][30];
int c,na,nap=0,nan=0,n16=0,n12_n15=0,ni10=0;
printf("Qual e' o numero de alunos da turma: ");
scanf("%d", &na);
/* ------------------------------------------------------------------------------------------
Media Individual
---------------------------------------------------------------------------------------------*/
for(c=0;c<=na-1;c++)
{
printf("Qual o nome do aluno: ");
scanf("%s", &nome[c]);
printf("Qual a nota do primeiro teste: ");
scanf("%f", &n1);
printf("Qual a nota do segundo teste: ");
scanf("%f", &n2);
media[c]=(n1+n2)/2;
}
/* ------------------------------------------------------------------------------------
--------------------------------------Media Maxima e media minima------------------
----------------------------------------------------------------------------------------*/
maior=0;
menor=20;
for(c=0;c<=na-1;c++)
{
/*-------------------------------------------------------------------------------------------------------
---------------------------------------- Media da turma -----------------------------------------
-------------------------------------------------------------------------------------------------------*/
mediaf=mediaf+media[c];
if(media[c]>maior)
maior=media[c];
if(media[c]<menor)
menor=media[c];
/*------------------------------------------------------------------------------------
-------------------------------Numero de alunos que tiveram media positiva -----------------
------------------------------------------------------------------------------------*/
if(media[c]>=10)
nap=nap+1;
/*------------------------------------------------------------------------------------
-------------------------------Numero de alunos que tiveram media negativa -----------------
------------------------------------------------------------------------------------*/
if(media[c]<10)
nan=nan+1;
/*------------------------------------------------------------------------------------
-------------------------------Numero de alunos com nota superior a 16 ---------------
------------------------------------------------------------------------------------*/
if(n1>16 || n2>16)
n16=n16+1;
/*------------------------------------------------------------------------------------
-----------------------Numero de alunos com nota superior 12 e inferior a 15----------
------------------------------------------------------------------------------------*/
if((n1>12 && n1<15) || (n2>12 && n2<15))
n12_n15=n12_n15+1;
/*------------------------------------------------------------------------------------
-----------------------Numero de alunos com nota inferior a 10------------------------
------------------------------------------------------------------------------------*/
if(n1<10 || n2<10)
ni10=ni10+1;
printf("\nO %s tem uma media de %f", nome[c], media[c]);
}
mediaf=mediaf/na; /* media final */
printf("\nA media da turma e' de %f.", mediaf);
printf("\nA media maxima foi de %f", maior);
printf("\nA media minima foi de %f", menor);
printf("\nHouve %d alunos com media positiva", nap);
printf("\nHouve %d alunos com media negativa", nan);
printf("\nHouve %d alunos com nota superior a 16", n16);
printf("\nHouve %d alunos com uma nota superior a 12 e inferior a 15", n12_n15);
printf("\nHouve %d alunos com nota inferior a 10", ni10);
system("pause");
}
Pergunta
PedroCJ
Bom dia! Comecei a trabalhar em C há algumas semanas atrás e tenho um trabalho para entregar na quinta. O único problema é que nem todas as funcionalidades do meu programa estão a trabalhar devidamente. Se alguém me poder ajudar, agradeço.
O programa devia de calcular:
-- A media da turma;
-- A media de cada aluno;
-- A media maxima e a media minima;
-- Quantos alunos tiveram media positiva;
-- Quantos alunos tiveram media negativa;
- Quantos alunos tiveram nota superior a 16;
- Quantos alunos tiveram nota entre 12 e 15.
- Quantos alunos tiveram nota inferior a 10.
As últimas 3 partes do programa, por alguma razão, não estão a funcionar devidamente. :X
Aqui está o código:
-----------------------
Obrigado uma vez mais.
Editado por PedroCJLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.