Advertisement
elica123

Untitled

Aug 5th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5. typedef struct _ispit{
  6. char ime[51];
  7. int ocjena;
  8. char kolegij[101];
  9. int dobro; //pomocna varijabla za ispis
  10. }ispit;
  11.  
  12. int main(void){
  13. FILE *in, *out;
  14. if((in=fopen("ispiti.dat", "rb"))==NULL){
  15. printf("Greska");
  16. exit(1);
  17. }
  18. if((out=fopen("kolegiji.txt", "wt"))==NULL){
  19. printf("Greska");
  20. exit(1);
  21. }
  22. ispit* niz=(ispit*)malloc(sizeof(ispit)); //pret da postoji bar jedan
  23. ispit pom;
  24. int i=0, n=0,j,napisi;
  25. while(fread(in, sizeof(ispit), 1, &pom)){
  26. niz=(ispit*)realloc(niz,i+1);
  27. niz[i]=pom;
  28. i++;
  29. n++; // imam n clanova u nizu
  30. }
  31. char kolegij[101];
  32. for(j=0; j<n; j++){
  33. if(niz[j].dobro!=1)niz[j].dobro=0; // pretp da je u memoriji neki broj koji nije 1
  34. int br=0;
  35. int ocj=0;
  36. strcpy(kolegij, niz[j].kolegij);
  37. int napisi=0;
  38. for(i=0; i<n; i++){
  39. if(!strcmp(kolegij, niz[i].kolegij) && niz[i].dobro==0){
  40. br++;
  41. ocj+=niz[i].ocjena;
  42. napisi=1;
  43. }
  44. }
  45. if(napisi==1){
  46. fprintf(out, "%s:%lf.3", kolegij, ocj/br);
  47. niz[i].dobro=1;
  48. }
  49. }
  50. free(niz);
  51. fclose(in);
  52. fclose(out);
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement