Advertisement
Guest User

notes

a guest
Jan 19th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAXIM 30
  5.  
  6. // retorna el numero de notes introduides
  7. int introduccio_notes(int notes[]) {
  8.     int alumne=1;
  9.     int nota;
  10.     do {
  11.         printf("Introdueix la nota de l'alumne %d: ", alumne);
  12.         scanf("%d", &nota);
  13.         notes[alumne-1] = nota;
  14.         alumne++;
  15.     } while(nota>=0 && nota<=10);
  16.    
  17.     return alumne-2;
  18. }
  19.  
  20. void imprimir_histograma(int notes[], int notes_introduides) {
  21.     printf("\n==============\n");
  22.     printf("= HISTOGRAMA =\n");
  23.     printf("==============\n\n");
  24.    
  25.     printf("NOTA\tFREQUENCIA\n");
  26.     printf("----\t----------\n");
  27.    
  28.     int i,j;
  29.     for(i=0; i<=10; i++) {
  30.         // Imprimir la nota
  31.         printf("%d\t", i);
  32.        
  33.         // Imprimir els asteriscs
  34.         for(j=0; j<notes_introduides; j++) {
  35.             if(i==notes[j]) {
  36.                 printf("*");
  37.             }
  38.         }
  39.        
  40.         // Saltem de linia
  41.         printf("\n");
  42.     }
  43. }
  44. void imprimir_aprovats_suspesos(int notes[],int notes_introduides){
  45.     int i;
  46.     int suspendidos=0,aprobados=0;
  47.     float pct_apro=0,pct_susp=0;
  48.     for(i=0;i<notes_introduides;i++){
  49.         if(notes[i]<5){
  50.             suspendidos++;
  51.         }else{
  52.             aprobados++;
  53.         }
  54.     }
  55.    
  56.     printf("Suspendieron: %i\n",suspendidos);
  57.     printf("Aprobaron: %i\n",aprobados);
  58.    
  59.     pct_apro=aprobados*100.0/notes_introduides;
  60.     pct_susp=suspendidos*100.0/notes_introduides;
  61.     printf("Porcentaje suspendidos: %.2f %%\n",pct_susp);
  62.     printf("Porcentaje aprobados: %.2f %%\n",pct_apro);
  63.    
  64. }
  65.  
  66. int nota_menor(int notes[], int notes_introduides){
  67.     int i, menor;
  68.     menor=notes[0];
  69.     for(i=0; i<notes_introduides; i++){
  70.         if(menor>notes[i]){
  71.             menor=notes[i];
  72.         }
  73.     }
  74.     return menor;
  75. }
  76.  
  77. int nota_mayor (int notes[], int notes_introduides){
  78.     int i, mayor;
  79.     mayor=notes[0];
  80.    
  81.     for(i=0; i<notes_introduides; i++){
  82.         if(mayor<notes[i]){
  83.             mayor=notes[i];
  84.         }
  85.     }
  86.     return mayor;
  87. }
  88.  
  89. float nota_mitja(int notes[], int notes_introduides) {
  90.     float suma=0;
  91.     int i;
  92.    
  93.     for(i=0; i<notes_introduides; i++) {
  94.         suma += notes[i];
  95.     }
  96.    
  97.     return suma/notes_introduides;
  98. }
  99.  
  100. void imprimir_moda(int notes[], int notes_introduides) {
  101.     // TODO
  102. }
  103.  
  104. int main() {
  105.     int notes[MAXIM];
  106.     int notes_introduides, mayor, menor;
  107.     float mitja;
  108.    
  109.     notes_introduides = introduccio_notes(notes);
  110.     printf("Notes introduides: %d", notes_introduides);
  111.    
  112.     imprimir_histograma(notes, notes_introduides);
  113.     imprimir_aprovats_suspesos(notes,notes_introduides);
  114.    
  115.     // nota minima
  116.     menor=nota_menor(notes, notes_introduides);
  117.     printf("La nota menor es de: %d\n", menor);
  118.     // nota maxima
  119.     mayor=nota_mayor(notes, notes_introduides);
  120.     printf("La nota mayor es de: %d\n", mayor);
  121.    
  122.     // nota mitja i mitjana i moda
  123.     mitja=nota_mitja(notes, notes_introduides);
  124.     printf("La nota mitja es de: %.2f\n", mitja);
  125.    
  126.     imprimir_moda(notes, notes_introduides);
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement