Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #define MAX 50
- struct TipoAluno{
- char nome[40], matricula[5];
- float media;
- };
- struct TipoNota{
- float prova1, prova2, trabalho, extra;
- };
- //prototipos
- void cadastro(struct TipoAluno alunos[],struct TipoNota notas[]);
- float calcularMedia(struct TipoNota notas[], int i);
- void exibeAlunos(struct TipoAluno alunos[], struct TipoNota notas[]);
- int quantidadeAlunos(struct TipoAluno alunos[]);
- float maiorMedia(struct TipoAluno alunos[]);
- int main()
- {
- int i;
- struct TipoAluno alunos[MAX];
- struct TipoNota notas[MAX];
- cadastro(alunos,notas);
- for(i=0;i<MAX;i++)
- alunos[i].media=calcularMedia(notas, i);
- exibeAlunos(alunos,notas);
- }
- //cadastro
- void cadastro(struct TipoAluno alunos[], struct TipoNota notas[])
- {
- int i;
- for(i=0;i<MAX;i++)
- {
- printf("\nNome do aluno: ");
- fflush(stdin);
- gets(alunos[i].nome);
- printf("Matricula: ");
- fflush(stdin);
- gets(alunos[i].matricula);
- printf("Nota primeira prova(0 a 10): ");
- scanf("%f", ¬as[i].prova1);
- printf("Nota segunda prova(0 a 10): ");
- scanf("%f", ¬as[i].prova2);
- printf("Nota trabalho(0 a 10): ");
- scanf("%f", ¬as[i].trabalho);
- printf("Nota extra(0 a 10): ");
- scanf("%f", ¬as[i].extra);
- }
- }
- //calcular a media
- float calcularMedia(struct TipoNota notas[], int i)
- {
- float media;
- media=(notas[i].prova1+notas[i].prova2+notas[i].extra+notas[i].trabalho)/4;
- if(media>10)
- return 10;
- else
- return media;
- }
- //funçao que exibe
- void exibeAlunos(struct TipoAluno alunos[], struct TipoNota notas[])
- {
- int i;
- system("cls");
- for(i=0;i<MAX;i++)
- {
- printf("Nome: %s\n", alunos[i].nome);
- printf("Matricula: %s\n", alunos[i].matricula);
- printf("Notas\nP1: %.2f\nP2: %.2f\nTrab: %.2f\nExt: %.2f\n", notas[i].prova1, notas[i].prova2, notas[i].trabalho, notas[i].extra);
- printf("Media: %.2f\n\n", alunos[i].media);
- }
- printf("Quantidade de alunos com a media entre 7 e 10: %d\n", quantidadeAlunos(alunos));
- printf("Maior media: %.2f\n", maiorMedia(alunos));
- }
- //funçao calcular a quantidade de alunos acima da media
- int quantidadeAlunos(struct TipoAluno alunos[])
- {
- int i, aux=0;
- for(i=0;i<MAX;i++)
- if(alunos[i].media>=7 && alunos[i].media<=10)
- aux++;
- return aux;
- }
- //maior media
- float maiorMedia(struct TipoAluno alunos[])
- {
- float aux=0;
- int i;
- for(i=0;i<MAX;i++)
- if(alunos[i].media>aux)
- aux=alunos[i].media;
- return aux;
- }
Advertisement
Add Comment
Please, Sign In to add comment