Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include "stdafx.h"
  2.  
  3. #include <conio.h>
  4. #include <iostream>
  5.  
  6. //obie biblioteki wymagane do uzycia _setmode(_fileno(stdout), _O_U8TEXT)
  7. //bez ktorego nie da sie wypisywac aktualnie pobranego znaku
  8. #include <fcntl.h>
  9. #include <io.h>
  10.  
  11. using namespace std;
  12.  
  13. int main()
  14. {
  15. _setmode(_fileno(stdout), _O_U8TEXT); // nie mam pojecia co to dokladnie robi
  16. // znalazlem w internetach i dziala
  17. // ma cos wspolnego z umozliwieniem drukowania znakow zakodowanych na 2 bajtach przez wcout
  18.  
  19. wchar_t z1 = 0, z2 = 0; // typ danych do przechowywania znakow na wiecej niz 1 bajcie
  20. int polskie = 0, lacinskie = 0, cyfry = 0, wszystkie = 0;
  21.  
  22. while (z2 != 68) { // dopoki nie wcisniety zostal klawisz F10
  23.  
  24. z1 = _getwch();
  25. if (z1 == 0 || z1 == 224) { //przechwytywanie znakow podwojnych, np F1, F2, INS
  26. z2 = _getwch();
  27. }
  28.  
  29. if ((z1 >= 65 && z1 <= 90) || (z1 >= 97 && z1 <= 122)) { //znaki z przedzialu od 'a' do 'z' lub od 'A' do 'Z'
  30. lacinskie++;
  31. }
  32. else if (z1 >= 48 && z1 <= 57) { //znaki z przedzialu od '0' do '9'
  33. cyfry++;
  34. }
  35. else if (z1 == 261 || z1 == 260 || // ą lub Ą
  36. z1 == 263 || z1 == 262 || // ć lub Ć
  37. z1 == 281 || z1 == 280 || // ę lub Ę
  38. z1 == 322 || z1 == 321 || // ł lub Ł
  39. z1 == 324 || z1 == 323 || // ń lub Ń
  40. z1 == 243 || z1 == 211 || // ó lub Ó
  41. z1 == 347 || z1 == 346 || // ś lub Ś
  42. z1 == 378 || z1 == 377 || // ź lub Ź
  43. z1 == 380 || z1 == 379) { // ż lub Ż
  44. polskie++;
  45. }
  46. wszystkie++;
  47. wcout << "znak: '" << z1 << "' o kodzie " << (int)z1 << endl;
  48. }
  49.  
  50. wcout << "wszystkich: " << wszystkie << endl;
  51. wcout << "polskich: " << polskie << endl;
  52. wcout << "lacinskich: " << lacinskie << endl;
  53. wcout << "cyfr: " << cyfry << endl;
  54.  
  55.  
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement