Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <conio.h>
- #include <iostream>
- //obie biblioteki wymagane do uzycia _setmode(_fileno(stdout), _O_U8TEXT)
- //bez ktorego nie da sie wypisywac aktualnie pobranego znaku
- #include <fcntl.h>
- #include <io.h>
- using namespace std;
- int main()
- {
- _setmode(_fileno(stdout), _O_U8TEXT); // nie mam pojecia co to dokladnie robi
- // znalazlem w internetach i dziala
- // ma cos wspolnego z umozliwieniem drukowania znakow zakodowanych na 2 bajtach przez wcout
- wchar_t z1 = 0, z2 = 0; // typ danych do przechowywania znakow na wiecej niz 1 bajcie
- int polskie = 0, lacinskie = 0, cyfry = 0, wszystkie = 0;
- while (z2 != 68) { // dopoki nie wcisniety zostal klawisz F10
- z1 = _getwch();
- if (z1 == 0 || z1 == 224) { //przechwytywanie znakow podwojnych, np F1, F2, INS
- z2 = _getwch();
- }
- if ((z1 >= 65 && z1 <= 90) || (z1 >= 97 && z1 <= 122)) { //znaki z przedzialu od 'a' do 'z' lub od 'A' do 'Z'
- lacinskie++;
- }
- else if (z1 >= 48 && z1 <= 57) { //znaki z przedzialu od '0' do '9'
- cyfry++;
- }
- else if (z1 == 261 || z1 == 260 || // ą lub Ą
- z1 == 263 || z1 == 262 || // ć lub Ć
- z1 == 281 || z1 == 280 || // ę lub Ę
- z1 == 322 || z1 == 321 || // ł lub Ł
- z1 == 324 || z1 == 323 || // ń lub Ń
- z1 == 243 || z1 == 211 || // ó lub Ó
- z1 == 347 || z1 == 346 || // ś lub Ś
- z1 == 378 || z1 == 377 || // ź lub Ź
- z1 == 380 || z1 == 379) { // ż lub Ż
- polskie++;
- }
- wszystkie++;
- wcout << "znak: '" << z1 << "' o kodzie " << (int)z1 << endl;
- }
- wcout << "wszystkich: " << wszystkie << endl;
- wcout << "polskich: " << polskie << endl;
- wcout << "lacinskich: " << lacinskie << endl;
- wcout << "cyfr: " << cyfry << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement