// https://odorpeter.hu

// Szövegkezelés 1. rész

#include <iostream>
#include <string>
#include <windows.h>    // SetConsoleCP SetConsolOutputCP
#include <algorithm>    // reverse
#include <cstdlib>      // atoi

using namespace std;

int main()
{
    setlocale(LC_ALL, "hun");
    SetConsoleCP(1250);
    SetConsoleOutputCP(1250);

    string s1, s2;
    cout << "Kérem az első szöveget: ";
    // Ha a cin >> s1; parancsot használjuk, akkor az első szóközig olvassuk csak be a szöveget
    getline(cin, s1);
    cout << "\t- szöveg hossza: " << s1.length() << endl;
    cout << "Kérek a második szöveget: ";
    getline(cin, s2);
    cout << "\t- szöveg hossza: " << s2.length() << endl;

    // szövegek összefűzése
    string s = s1 + " " + s2;
    cout << "A két szöveg együtt: \n\t" << s << endl;
    //Szövegmanipulációk
    for(auto &c:s) c = toupper(c);
    cout << "Nagybetűsen: \n\t" << s << endl;
    for(auto &c:s) c=tolower(c);
    cout << "Kisbetűsen: \n\t" << s << endl;
    reverse(s.begin(), s.end());
    cout << "Visszafelé: \n\t" << s << endl;
    // szövegből kiszűrjük a számjegyeket
    cout << "---------------------------------------------------------" << endl;
    cout << "Kérek egy számot (lehet benne nem numerikus karakter is):";
    getline(cin, s);
    string digit="";

    for(auto &c:s)
    {
        if(isdigit(c))
        {
            digit+=c;
        }
    }
    if(digit.length() > 0)
        {
            cout << "Csak a számjegyek:\n\t " << digit;
            // konverzió
            int szam=atoi(digit.c_str());
            cout << "\t2*" + digit + "=" << 2*szam << endl;
        }
    else
        {
            cout << "Nem voltak numerikus karakterek!";
        }
    cout << endl;


    return 0;
}
