Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>  
  3. #define MAX 2
  4.  
  5. struct historico{
  6.       float prova1;
  7.       float prova2;
  8.       float trabalho;
  9.       float pontoExtra;
  10.       float media;    
  11. };
  12.  
  13. struct tipoAluno{
  14.       char matricula[6];
  15.       char nome[41];
  16.       struct historico dados;
  17. };
  18.  
  19. float recebeNota(void);
  20. float calculaMedia(float prova1,float prova2,float trabalho,float pontoExtra);
  21. void exibeTudo(struct tipoAluno aluno[]);
  22. void exibe710(struct tipoAluno aluno[]);        
  23. float maiorMedia(struct tipoAluno aluno[]);
  24.  
  25. int main(void){
  26.     int i;
  27.     float maiorMedia1;
  28.     struct tipoAluno aluno[MAX];
  29.     for(i=0;i<MAX;i++){
  30.            fflush(stdin);            
  31.            printf("\nDigite o nome do aluno %d: ",i+1);
  32.            gets(aluno[i].nome);
  33.            fflush(stdin);
  34.            printf("Digite a matricula do aluno %d: ",i+1);
  35.            gets(aluno[i].matricula);
  36.            printf("Digite a nota da primeira prova: ");
  37.            aluno[i].dados.prova1=recebeNota();
  38.            printf("Digite a nota da segunda prova: ");
  39.            aluno[i].dados.prova2=recebeNota();
  40.            printf("Digite a nota do trabalho: ");
  41.            aluno[i].dados.trabalho=recebeNota();
  42.            printf("Digite o ponto extra: ");
  43.            aluno[i].dados.pontoExtra=recebeNota();
  44.            aluno[i].dados.media = calculaMedia(aluno[i].dados.prova1 ,aluno[i].dados.prova2 ,aluno[i].dados.trabalho ,aluno[i].dados.pontoExtra);
  45.     }
  46.    
  47.    printf("\n**** Todos os alunos ****\n");
  48.    
  49.    exibeTudo(aluno);
  50.    
  51.    printf("\n**** Alunos com media de 7 a 10 ****\n");
  52.    
  53.    exibe710(aluno);
  54.    
  55.     printf("\n**** Maior Media ****\n");
  56.    
  57.     maiorMedia1=maiorMedia(aluno);
  58.    
  59.     printf("%f",maiorMedia1);
  60.    
  61.     system("pause");
  62.    
  63. }//fim
  64.  
  65. //funcoes
  66.  
  67. float recebeNota(void){
  68.      float nota;
  69.      scanf("%f",&nota);
  70.      while(nota<1||nota>10){
  71.         printf("Digite a nota novamente: ");
  72.         scanf("%f",&nota);
  73.         }
  74.      return nota;
  75. }
  76.    
  77. float calculaMedia(float prova1,float prova2,float trabalho,float pontoExtra){
  78.      float media;
  79.      media=((prova1+prova2+trabalho+pontoExtra)/3);
  80.      if (media>10)
  81.         return 10;
  82.      else
  83.          return media;
  84. }
  85.  
  86. void exibeTudo(struct tipoAluno aluno[]){
  87.      int i;
  88.      for(i=0;i<MAX;i++){
  89.         printf("\n\n");
  90.         printf("---------------ALUNO %d-----------------\n",i+1);
  91.         printf("Nome: %s\n",aluno[i].nome);
  92.         printf("Matricula: %s\n",aluno[i].matricula);
  93.         printf("Prova 1: %.2f\n",aluno[i].dados.prova1);
  94.         printf("Prova 2: %.2f\n",aluno[i].dados.prova2);
  95.         printf("Trabalho: %.2f\n",aluno[i].dados.trabalho);
  96.         printf("Ponto Extra: %.2f\n",aluno[i].dados.pontoExtra);
  97.         printf("MEDIA: %.2f\n",aluno[i].dados.media);
  98. }
  99. }
  100.  
  101. void exibe710(struct tipoAluno aluno[]){
  102.      int i;
  103.      for(i=0;i<MAX;i++){
  104.         if((aluno[i].dados.media>=7) && (aluno[i].dados.media<=10)){
  105.            printf("\n\n");
  106.            printf("---------------ALUNO %d-----------------\n",i+1);
  107.            printf("Nome: %s\n",aluno[i].nome);
  108.            printf("Matricula: %s\n",aluno[i].matricula);
  109.            printf("Prova 1: %.2f\n",aluno[i].dados.prova1);
  110.            printf("Prova 2: %.2f\n",aluno[i].dados.prova2);
  111.            printf("Trabalho: %.2f\n",aluno[i].dados.trabalho);
  112.            printf("Ponto Extra: %.2f\n",aluno[i].dados.pontoExtra);
  113.            printf("MEDIA: %.2f\n",aluno[i].dados.media);
  114.         }
  115.         else
  116.            continue;
  117. }
  118. }
  119.  
  120. float maiorMedia(struct tipoAluno aluno[]){
  121.       int maior=0, i;
  122.       for(i=0;i<MAX;i++){
  123.          if(aluno[i].dados.media>maior)
  124.             maior = aluno[i].dados.media;
  125.          else maior = maior;
  126.       }
  127.       return maior;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement