Advertisement
koske

Untitled

Nov 26th, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1.  
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. #define MAX_IME 100
  7. #define MAX_OBLAST 100
  8. #define MAX_NIZ 700
  9.  
  10.  
  11. struct naucnik {
  12. char ime[MAX_IME];
  13. char prezime[MAX_IME];
  14. char oblast[MAX_OBLAST];
  15. int br_radova;
  16. };
  17.  
  18. void ucitaj(FILE *ulaz,struct naucnik *niz,int *n);
  19. void ispis(FILE *izlaz,struct naucnik *niz,int *k,int *n);
  20. FILE *safe_fopen(char *filename,char *mode,int error_code);
  21.  
  22.  
  23.  
  24.  
  25. int main(int arg_num, char *args[]){
  26. if(arg_num!=4){
  27. printf("Uputstvo : ./zad input_filename output_filename min_radova\n");
  28. exit(1);
  29. }
  30. struct naucnik niz[MAX_NIZ];
  31. int n,k;
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. char *input_filename=args[1];
  39. char *output_filename=args[2];
  40. char *min_radova=args[3];
  41. k=atoi(min_radova);
  42.  
  43. FILE *ulaz=safe_fopen(input_filename,"r",2);
  44. FILE *izlaz=safe_fopen(output_filename,"w",3);
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. ucitaj(ulaz,niz,&n);
  52. ispis(izlaz,niz,&k,&n);
  53.  
  54.  
  55.  
  56. fclose(ulaz);
  57. fclose(izlaz);
  58. return 0;
  59. }
  60.  
  61.  
  62. void ucitaj(FILE *ulaz,struct naucnik *niz,int *n)
  63. {
  64.  
  65.  
  66. int i=0;
  67.  
  68. while(fscanf(ulaz, "%s %s %d %s", niz[i].ime,niz[i].prezime, &niz[i].br_radova, niz[i].oblast) != EOF)
  69. {
  70. i++;
  71.  
  72. }
  73. *n=i;
  74.  
  75. }
  76. FILE *safe_fopen(char *filename,char *mode,int error_code){
  77. FILE *f=fopen(filename,mode);
  78. if(f==NULL){
  79. puts("Nemre otvoriti");
  80. exit(error_code);
  81. }
  82. return f;
  83. }
  84.  
  85. void ispis(FILE *izlaz,struct naucnik *niz,int *k,int *n){
  86. int i;
  87. for(i=0;i<*n;i++){
  88. if(niz[i].br_radova>*k){
  89. fprintf(izlaz,"%s\t%s\t%s\t%d\n\n",niz[i].ime,niz[i].prezime,niz[i].oblast,niz[i].br_radova);
  90. }
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement