|
szovegkezelesC++.cpp
|
|
1 // https://odorpeter.hu
2
3 // Szövegkezelés 1. rész
4
5 #include <iostream>
6 #include <string>
7 #include <windows.h> // SetConsoleCP SetConsolOutputCP
8 #include <algorithm> // reverse
9 #include <cstdlib> // atoi
10
11 using namespace std;
12
13 int main()
14 {
15 setlocale(LC_ALL, "hun");
16 SetConsoleCP(1250);
17 SetConsoleOutputCP(1250);
18
19 string s1, s2;
20 cout << "Kérem az első szöveget: ";
21 // Ha a cin >> s1; parancsot használjuk, akkor az első szóközig olvassuk csak be a szöveget
22 getline(cin, s1);
23 cout << "\t- szöveg hossza: " << s1.length() << endl;
24 cout << "Kérem a második szöveget: ";
25 getline(cin, s2);
26 cout << "\t- szöveg hossza: " << s2.length() << endl;
27
28 // szövegek összefűzése
29 string s = s1 + " " + s2;
30 cout << "A két szöveg együtt: \n\t" << s << endl;
31 //Szövegmanipulációk
32 for(auto &c:s) c = toupper(c);
33 cout << "Nagybetűsen: \n\t" << s << endl;
34 for(auto &c:s) c=tolower(c);
35 cout << "Kisbetűsen: \n\t" << s << endl;
36 reverse(s.begin(), s.end());
37 cout << "Visszafelé: \n\t" << s << endl;
38 // szövegből kiszűrjük a számjegyeket
39 cout << "---------------------------------------------------------" << endl;
40 cout << "Kérek egy számot (lehet benne nem numerikus karakter is):";
41 getline(cin, s);
42 string digit="";
43
44 for(auto &c:s)
45 {
46 if(isdigit(c))
47 {
48 digit+=c;
49 }
50 }
51 if(digit.length() > 0)
52 {
53 cout << "Csak a számjegyek:\n\t " << digit;
54 // konverzió
55 int szam=atoi(digit.c_str());
56 cout << "\t2*" + digit + "=" << 2*szam << endl;
57 }
58 else
59 {
60 cout << "Nem voltak numerikus karakterek!";
61 }
62 cout << endl;
63
64
65 return 0;
66 }