Advertisement
Guest User

Untitled

a guest
Jun 25th, 2013
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string>
  4. #include <fstream>
  5. #include <vector>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. int slowa(int liczSlow, int ch)
  11. {
  12.  
  13. while ((ch=getchar()) != EOF)
  14. {
  15. if (isprint(ch) != 0) //sprawdza czy czytany znak to litera, pierwszy znak nie wlicza do licznika liter dlatego ten licznik ma +1
  16. {
  17. while ((ch=getchar()) != EOF) //jeśli tak to pobiera kolejne znaki ze strumienia
  18. {
  19. if ((isspace(ch) != 0) || (ispunct(ch) != 0)) //jeśli znak okaże sie przystankowy lub biały uznaje ze to koniec słowa; zwiększa licznik, i przerywa petle i zaczyna od nowa
  20. {
  21. liczSlow++;
  22.  
  23. }
  24.  
  25. }
  26.  
  27. }
  28.  
  29. }
  30. return liczSlow;
  31. }
  32.  
  33. int znaki(int liczZnak, int ch)
  34. {
  35.  
  36. while ((ch=getchar()) != EOF)
  37. {
  38. if (isprint(ch) != 0)
  39. {
  40. liczZnak++;
  41.  
  42. }
  43.  
  44. }
  45. return liczZnak;
  46. }
  47.  
  48. int zdania(int liczZdanie, int ch)
  49. {
  50.  
  51. while ((ch=getchar()) != EOF)
  52. {
  53. if (isprint(ch) != 0) //sprawdza czy czytany znak to litera, pierwszy znak nie wlicza do licznika liter dlatego ten licznik ma +1
  54. {
  55. while ((ch=getchar()) != EOF) //jeśli tak to pobiera kolejne znaki ze strumienia
  56. {
  57. if (ispunct(ch) != 0)
  58. {
  59. liczZdanie++;
  60.  
  61. }
  62.  
  63. }
  64.  
  65. }
  66.  
  67. }
  68.  
  69. return liczZdanie;
  70. }
  71.  
  72. int main(int argc, char *argv[])
  73. {
  74. int ch, liczZnak=0, liczSlow=1, liczZdanie=0;
  75.  
  76. if ((ch=getchar())==EOF) cout<<"Brak znakow w pliku!";
  77. else
  78. {
  79. cout<<"Slow: "<<slowa(liczSlow, ch)<<endl;
  80. cout<<"Znakow: "<<znaki(liczZnak, ch)<<endl;
  81. cout<<"Zdan: "<<zdania(liczZdanie, ch);
  82. }
  83. return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement