Advertisement
Guest User

Programa de ficha de alunos (ajuda pf)

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