Advertisement
Guest User

Programa de ficha de alunos (ajuda pf)

a guest
May 29th, 2015
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. //ESTRUTURA DOS ALUNOS
  6.  
  7. typedef struct aluninho
  8. {
  9.     char nome[30];
  10.     char curso[20];
  11.     int idade;
  12.     int provas[3];
  13. }aluno;
  14.  
  15. //ORDENANDO VETOR POR MÉDIAS
  16.  
  17. void ordena(float *media,aluno *ficha,int num){
  18.     aluno aux;
  19.     int *auxx=(int*)malloc(sizeof(int)*num);
  20.     for (int i = num-1; i>=1; i--)
  21.     {
  22.         for (int j=0; j < num; ++j)
  23.         {
  24.             if (media[j]>media[j+1])
  25.             {
  26.                 aux=ficha[j];
  27.                 *auxx=media[j];
  28.                 ficha[j]=ficha[j+1];
  29.                 media[j]=media[j+1];
  30.                 ficha[j+1]=aux;
  31.                 media[j+1]=*auxx;
  32.             }
  33.         }
  34.     }
  35. }
  36. int main()
  37. {
  38.  
  39.     //DECLARANDO VARIÁVEIS.
  40.  
  41.     int num;
  42.     float *media;
  43.     float somaturma=0;
  44.  
  45.     //RECEBENDO VALORES DO USUÁRIO.
  46.  
  47.     printf("De quantos alunos você quer enviar os dados?\n");
  48.     scanf("%i",&num);
  49.     struct aluninho *ficha;
  50.     ficha=(aluno*)malloc(num*sizeof(aluno));
  51.     media=(float*)malloc(num*sizeof(float));
  52.     for (int i = 0; i < num; ++i)
  53.     {
  54.         printf("Insira o nome do aluno %i.\n",i);
  55.         scanf("%s",&ficha[i].nome);
  56.         printf("Insira o curso do aluno %i.\n",i);
  57.         scanf("%s",&ficha[i].curso);
  58.         printf("Insira a idade do aluno %i.\n",i);
  59.         scanf("%i",&ficha[i].idade);
  60.         printf("Insira as notas das provas do aluno %i.\n",i);
  61.         scanf("%i%i%i",&ficha[i].provas[0],&ficha[i].provas[1],&ficha[i].provas[2]);
  62.         media[i]=(ficha[i].provas[0]+ficha[i].provas[1]+ficha[i].provas[2])/3;
  63.     }
  64.  
  65.     ordena(media,ficha,num);
  66.  
  67.     //IMPRIMINDO FICHAS.
  68.  
  69.     for (int i = 0; i < num; ++i)
  70.     {
  71.         printf("\n___________________________\nNome: %s | Curso: %s | Idade: %i\n",ficha[i].nome,ficha[i].curso, ficha[i].idade);
  72.         printf("Notas do aluno nas provas: %i %i %i\n",ficha[i].provas[0],ficha[i].provas[1],ficha[i].provas[2]);          
  73.         if (media[i]>=60)
  74.         {
  75.             printf("A média do aluno %i é: %f e ele foi aprovado.\n",i,media[i]);
  76.         }
  77.         else{
  78.             printf("A média do aluno %i é: %f e ele foi reprovado.\n",i,media[i]);
  79.         }
  80.         printf("\n");
  81.     }
  82.  
  83.     //CONTANDO E IMPRIMINDO A MÉDIA DA TURMA.
  84.  
  85.     for (int i = 0; i < num; ++i)
  86.     {
  87.         somaturma=somaturma+media[i];
  88.     }
  89.     printf("\nA média da turma é %f.\n",somaturma/num);
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement