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  }