Florii11

p1

Feb 23rd, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define NUMBER 3
  5.  
  6. typedef struct
  7. {
  8.     char*nume;
  9.     char*prenume;
  10.     int varsta;
  11.     int nota[NUMBER];
  12.     float medie;
  13.  
  14. } STUDENT;
  15.  
  16. STUDENT conversie(char*nume, char*prenume, int varsta, int note[NUMBER])
  17. {
  18.     STUDENT s;
  19.     s.nume=nume;
  20.     s.prenume=prenume;
  21.     s.varsta=varsta;
  22.     for(int i=0; i<NUMBER; i++)
  23.         s.nota[i]=note[i];
  24.     return s;
  25. }
  26.  
  27. void incrementare(STUDENT *s)
  28. {
  29.     for(int i=0; i<NUMBER; i++)
  30.         s->nota[i]++;
  31. }
  32.  
  33. int main()
  34. {
  35.     FILE* f=fopen("nume.txt","r");
  36.     if(f==NULL)
  37.         return -1;
  38.     int n;
  39.     fscanf(f,"%d",&n);
  40.     printf("%d\n",n);
  41.  
  42.     STUDENT *lista;
  43.     lista=calloc(n,sizeof(STUDENT));
  44.    
  45.     for(int i=0; i<n; i++)
  46.     {
  47.         char nume[20], prenume[20];
  48.         int varsta;
  49.         fscanf(f,"%s %s %d",nume, prenume, &varsta);
  50.         int note[NUMBER];
  51.         for(int j=0; j<NUMBER; j++)
  52.             fscanf(f,"%d", &note[j]);
  53.         lista[i]=conversie(nume,prenume,varsta,note);
  54.  
  55.         lista[i].medie=(float)(note[0]+note[1]+note[2])/NUMBER;
  56.         printf("%s %s %f\n", lista[i].nume, lista[i].prenume, lista[i].medie);
  57.         incrementare(&lista[i]);
  58.         printf("%s %s %d %d %d\n", lista[i].nume, lista[i].prenume, lista[i].nota[0], lista[i].nota[1],lista[i].nota[2]);
  59.     }
  60.  
  61.     for(int j=0; j<n; j++)
  62.     {
  63.         incrementare(&lista[j]);
  64.         printf("%s %s %d %d %d\n", lista[j].nume, lista[j].prenume, lista[j].nota[0], lista[j].nota[1],lista[j].nota[2]);
  65.     }
  66.  
  67.  
  68.     return 0;
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment