Advertisement
LegoDrifter

Datoteki part 2 - Odnos megju samoglaski i soglaski

Jun 12th, 2020
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int dali_e_bukva(char c)
  6. {
  7.     return(c >= 'a' && c <= 'z') || (c>='A' && c <= 'Z');
  8.     // Vo while ciklusot dokolku deketektirame char znak, gledame dali pripagja vo ovoj interval.
  9.     // Funkcijava e int bidejki bi ni vratila decimalna vrednost na znakot ?
  10.  
  11. }
  12. int dali_e_samoglaska(char c)
  13. {
  14.     c = tolower(c);
  15.     switch(c)
  16.     {
  17.         case 'a':
  18.         case 'e':
  19.         case 'i':
  20.         case 'o':
  21.         case 'u':
  22.             return 1;
  23.         default:
  24.             return 0;
  25.             // Ako vo c imame argument od navedenite 5 kejsovi togas vraka 1
  26.     }
  27. }
  28. /* Alternativna funkcija int dali_e_samoglaska(char c)
  29. {
  30.     c=tolower(c);
  31.     if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c=='u' ) return 1;
  32.     else return 0;
  33. }*/
  34.  
  35. int main()
  36. {
  37.     char c;
  38.     int samoglaski=0,soglaski=0;
  39.     FILE * Datoteka;
  40.     if((Datoteka=fopen("text.txt","r"))==NULL)
  41.     {
  42.         printf("Datotekata text.txt nemoze da se otvori.\n");
  43.         return -1;
  44.     }
  45.     // Chitanje na znak po znak do EOF
  46.     while((c=fgetc(Datoteka))!=EOF)
  47.     {
  48.         if(dali_e_bukva(c)){
  49.             if(dali_e_samoglaska(c))
  50.                 samoglaski++;
  51.             else
  52.                 soglaski++;
  53.         }
  54.     }
  55.     fclose(Datoteka);
  56.     printf("Odnosot megju samoglaski i soglaski e %.2f",(float)samoglaski/soglaski);
  57.  
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement