Advertisement
FRiTZZY

OR_T12_Z2

Jan 26th, 2015
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. /* OR_Tutorijal_12 Zadatak_2 */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. /* Datoteku test.txt smjestiti u isti folder u kojem se nalazi projekat,
  6.  * kao na slici: http://prntscr.com/62f8d9 */
  7.  
  8. int main()
  9. {
  10.     FILE* ulaz;
  11.     char znak, ime[50];
  12.     int broj_redova = 0, broj_rijeci = 0;
  13.     int broj_znakova = 0, razmak = 1;
  14.  
  15.  /* Kao ime datoteke ukucati: "test.txt", bez navodnika i 'C:\' jer smo
  16.   * datoteku 'test' pohranili u isti folder u kojem se nalazi projekat. */
  17.     printf("Unesite ime datoteke: ");
  18.     scanf("%s", ime);
  19.  
  20.     ulaz = fopen(ime, "r");
  21.     if(ulaz == NULL)
  22.     {
  23.         printf("Greska prilikom otvaranja datoteke '%s'! \n", ime);
  24.         exit(1);
  25.     }
  26.  
  27.     while((znak = fgetc(ulaz)) != EOF)
  28.     {
  29.         /* Ako je znak novi red, povecaj broj linija za jedan */
  30.         if(znak == '\n') broj_redova++;
  31.         /* Da li je znak razmak? */
  32.         if(znak == ' ' ||znak == '\n' || znak == '\t')
  33.         {
  34.             razmak = 1;
  35.         }
  36.         else
  37.         {
  38.             /* Ako je prethodni znak bio razmak, a ovaj nije, povecaj broj rijeci za jedan */
  39.             broj_znakova++;
  40.             if(razmak == 1) broj_rijeci++;
  41.             razmak = 0;
  42.         }
  43.     }
  44.  
  45.     if(broj_znakova != 0) broj_redova++;
  46.  
  47.     printf("Broj redova: %d \n", broj_redova);
  48.     printf("Broj rijeci: %d \n", broj_rijeci);
  49.     printf("Broj znakova: %d \n", broj_znakova);
  50.  
  51.     fclose(ulaz);
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement