Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
# include <stdio.h> # include <stdlib.h> # include <string.h> #include <locale.h> /*Andrio da Silva Herrmann*/ //declaração do registro, é uma declaração global typedef struct{ char nome[100]; char endereco[100]; int idade; float nota1; float nota2; float media; int flag_frequencia; }Aluno; //declaração das funções /*Cada função vale 2.00 pontos*/ void leitura_Dados(Aluno alunos[], int quantidade_alunos); void impressao_Dados(Aluno alunos[], int quantidade_alunos); void calcula_media(Aluno alunos[], int quantidade_alunos); float media_geral_turma(Aluno alunos[], int quantidade_alunos); void procura_aluno_por_nome(Aluno alunos[], int quantidade_alunos, char nome[]); //questão bonus void frequencia_da_media(Aluno alunos[], int quantidade_alunos); int main(){ //O programa principal já está preechido //Para testar as funções é só descomentar setlocale(LC_ALL, "Portuguese"); Aluno alunos[10]; //programa principal leitura_Dados(alunos, 4); impressao_Dados(alunos, 4); calcula_media(alunos, 4); printf("média geral da turma %f \n", media_geral_turma(alunos, 3)); frequencia_da_media(alunos, 4); procura_aluno_por_nome(alunos,4,"JoaoVitor"); system("PAUSE"); return 0; } void leitura_Dados(Aluno alunos[], int quantidade_alunos){ //leitura dos dados int i; printf("Dados: nome, endereço, idade, nota1, nota2\n");///88 for(i=0;i<quantidade_alunos;i++){ printf("Registre o aluno %d\n", i+1); /*complete o código*/ scanf("%s %s %i %f %f",&alunos[i].nome,&alunos[i].endereco,&alunos[i].idade,&alunos[i].nota1,&alunos[i].nota2);//88 } fflush(stdin); //__fpurge(stdin);//limpeza do buffer linux } void impressao_Dados(Aluno alunos[], int quantidade_alunos){ //impressão dos dados int i; for(i=0;i<quantidade_alunos;i++){ /*complete o código*/ printf("Nome:%s Endereço: Tal Idade:18 Nota1:30%.2f Nota2:50%.2f\n",alunos[i].nome,alunos[i].endereco,alunos[i].idade,alunos[i].nota1,alunos[i].nota2);//88 } } void calcula_media(Aluno alunos[], int quantidade_alunos){ int i; for(i=0;i<quantidade_alunos;i++){ /*complete o código*/ alunos[i].media = (alunos[i].nota1+alunos[i].nota2)/2;//88 } } float media_geral_turma(Aluno alunos[], int quantidade_alunos){ int i; float soma=0; float media_geral; for(i=0;i<quantidade_alunos;i++){ soma = soma + alunos[i].media;//88 media_geral = (soma/quantidade_alunos);//88 printf("Média geral: %.2f\n",media_geral);//88 } return (float) soma/quantidade_alunos; } void procura_aluno_por_nome(Aluno alunos[], int quantidade_alunos, char nome[]){ int i, flag=0; for(i=0;i<quantidade_alunos;i++){ if (strcmp(alunos[i].nome, nome) == 0){ printf("\n Aluno Encontrado %d \n", i+1); printf("nome:%s\n",alunos[i].nome);//88 printf("endereco:%s\n",alunos[i].endereco);//88 printf("idade:%d\n",alunos[i].idade);//88 printf("notas:%f\n %f\n",alunos[i].nota2, alunos[i].nota1); printf("media:%f\n",alunos[i].media); flag=1; break; } } if(flag==1){ printf("Aluno não encontrado"); } } /* * transcreva esse algoritmo para c e transforme para a função abaixo inteiro frequencia, i, j; printar("Frequência estatística\n"); Para(i=0;i<quantidade_alunos;i++)Faça{ frequencia=0; Se (alunos[i].flag_frequencia!=-1){ frequencia=1; Para(j=i+1; j<quantidade_alunos;j++)Faça{ Se(alunos[i].media==alunos[j].media){ alunos[j].flag_frequencia=-1; frequencia++;; } } printar("%d %d\n", alunos[i].media, frequencia); } } */ void frequencia_da_media(Aluno alunos[], int quantidade_alunos){ int frequencia, i, j; /*complete o código*/ printf("Frequencia estatistica\n"); for(i=0; i<quantidade_alunos;i++) { frequencia=0; if(alunos[i].flag_frequencia!=-1) { frequencia=1; for(j=i+1; j<quantidade_alunos; j++) { if(alunos[i].media==alunos[j].media) { alunos[i].flag_frequencia=-1; frequencia++; } } printf("%f %d\n", alunos[i].media, frequencia); } } }
Compartilhar