Advertisement
Guest User

drugi

a guest
Jan 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h> /* Zbog funkcije exit() */
  3.  
  4. struct Student {
  5. char prezime[20];
  6. char ime[15];
  7. int broj_bodova1;
  8. int broj_bodova2;
  9. };
  10.  
  11. int main() {
  12. struct Student studenti[300], tmp;
  13. FILE *ulaz, *izlaz;
  14. int c=0, i, j, vel, max;
  15.  
  16. /* Otvaranje datoteka */
  17. if ((ulaz = fopen("ispit.txt","r")) == NULL) {
  18. printf("Greska pri otvaranju datoteke ispit.txt");
  19. exit(1);
  20. }
  21.  
  22. if ((izlaz = fopen("usmeni.txt","w")) == NULL) {
  23. fclose(ulaz);
  24. printf("Greska pri otvaranju datoteke usmeni.txt");
  25. exit(1);
  26. }
  27.  
  28. /* Ucitavanje datoteke u niz studenti */
  29. i=0;
  30. while (fscanf(ulaz,"%20s%15s%2d%2d%\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova1, &studenti[i].broj_bodova2) == 4 && i<300)
  31. i++;
  32. vel = i;
  33.  
  34. /* Sortiranje niza po broju bodova */
  35. for (i=0; i<vel; i++) {
  36. max = i;
  37. for (j=i+1; j<vel; j++)
  38. if ((studenti[j].broj_bodova1+studenti[j].broj_bodova2) > (studenti[i].broj_bodova1+studenti[i].broj_bodova2)) {
  39. max = j;
  40. c=1;
  41. }
  42. if(c){
  43. tmp = studenti[i];
  44. studenti[i] = studenti[max];
  45. studenti[max] = tmp;
  46. i--;
  47. }
  48. c=0;
  49. }
  50.  
  51. // Upis niza u datoteku
  52. for (i=0; i<vel; i++)
  53. {
  54.  
  55. if(studenti[i].broj_bodova1<10 || studenti[i].broj_bodova2<10) continue;
  56. fprintf(izlaz,"%-15s%-10s%2d\n", studenti[i].prezime, studenti[i].ime, studenti[i].broj_bodova1+studenti[i].broj_bodova2);
  57. }
  58. printf ("Izlazna datoteka usmeni.txt je kreirana\n");
  59. fclose(ulaz);
  60. fclose(izlaz);
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement