Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Complementando o exercício anterior:
- -> Criar uma função para calcular a média geral da sala (com
- base na média dos alunos);
- -> Criar uma função para calcular e quantos alunos estão acima
- da média geral.
- -> Criar um procedimento para mostrar o nome dos alunos reprovados
- (para ser aprovado o aluno necessita de média igual ou maior que 5.0);
- -> Criar um procedimento para mostrar os nomes dos alunos com a
- maior e menor média.*/
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #define MAX 2
- struct tipoAluno {
- char nome[50], ra[9];
- float nota1, nota2, media;
- };
- void recebe_dados(tipoAluno lista_alunos[]);
- void faz_media(tipoAluno lista_alunos[]);
- float media_geral(tipoAluno lista_alunos[]);
- int alunos_positivos(tipoAluno lista_alunos[], float media_sala);
- void alunos_reprovados(tipoAluno lista_alunos[]);
- void maior_menor_media(tipoAluno lista_alunos[]);
- void main(){
- tipoAluno lista_alunos[MAX];
- recebe_dados(lista_alunos);
- faz_media(lista_alunos); //dos alunos
- float media_sala = media_geral(lista_alunos); // da sala
- printf("\n\nMedia da sala: %f",media_sala);
- printf("\n\nNumero de alunos acima da media da sala: %d\n",alunos_positivos(lista_alunos, media_sala));
- alunos_reprovados(lista_alunos);
- maior_menor_media(lista_alunos);
- system("Pause");
- }
- void recebe_dados(tipoAluno lista_alunos[]){
- for(int i=0; i<MAX; i++){
- printf("Digite o nome do aluno %d: ", i+1);
- fflush(stdin);
- gets (lista_alunos[i].nome);
- printf("Digite o RA do aluno %d: ", i+1);
- fflush(stdin);
- gets (lista_alunos[i].ra);
- printf("Nota 1 do aluno %d: ", i+1);
- scanf("%f",&lista_alunos[i].nota1);
- printf("Nota 2 do aluno %d: ", i+1);
- scanf("%f",&lista_alunos[i].nota2);
- }
- }
- void faz_media(tipoAluno lista_alunos[]){
- for(int i=0; i<MAX; i++){
- lista_alunos[i].media = lista_alunos[i].nota1*0.4 + lista_alunos[i].nota2*0.6;
- }
- }
- float media_geral(tipoAluno lista_alunos[]){
- float media_sala=0;
- for(int i=0; i<MAX; i++){
- media_sala += lista_alunos[i].media;
- }
- media_sala = media_sala/MAX;
- return media_sala;
- }
- int alunos_positivos(tipoAluno lista_alunos[], float media_sala){
- int total=0;
- for(int i=0; i<MAX; i++){
- if(lista_alunos[i].media > media_sala) total++;
- }
- return total;
- }
- void alunos_reprovados(tipoAluno lista_alunos[]){
- for(int i = 0; i<MAX; i++){
- if(lista_alunos[i].media < 5) printf("REPROVADO: %s", lista_alunos[i].nome);
- }
- }
- void maior_menor_media(tipoAluno lista_alunos[]){
- float maior = lista_alunos[0].media;
- float menor = lista_alunos[0].media;
- for(int i = 0; i<MAX; i++){
- if(lista_alunos[i].media > maior) maior = lista_alunos[i].media;
- if(lista_alunos[i].media < menor) menor = lista_alunos[i].media;
- }
- printf("\nMaior media: %f\n", maior);
- printf("Menor media: %f\n", menor);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement