Napišite razred TextUtility, ki naj ima privatni privzeti konstruktor.
Razredu dodajte javne razredne metode:
capitalize(const std::string &str), ki kot argument prejme niz in vrne niz, ki ima za vsakim končnim ločilom (. ,! in ?) veliko začetnico. V primeru, da ugotovimo, da se velika začetnica že nahaja, na tistem mestu ne spremenimo nič. Pazite tudi na to, da je prva črka v nizu z veliko. Primer: lorem ipsum dolor, adipiscing magna? facil isi 2.5 morbi tempus urna id. Gravida non tellus orci! molestieac sed lectus. --> Lorem ipsum dolor, adipiscing magna? Facil isi 2.5 morbi tempus urna id. Gravida non tellus orci! Molestieac sed lectus.
toUpperCase(const std::string &str), ki kot argument prejme niz in vrne niz, v katerem so vse črke velike tiskane. Primer: Lorem ipsum dolor 12, adipiscing Magna. --> LOREM IPSUM DOLOR 12, ADIPISCING MAGNA.
isNumeric(const std::string &str), ki kot argument prejme niz in preveri, ali se v tem nizu nahajo le števke (0-9) . Primer: "432423" --> true, "4234 234" --> false, "4453asd" --> false
contains(const std::string &str, const std::string &substr), ki kot argument prejme niz in iskani niz. Metoda vrne prvi indeks, kje se iskani niz pojavi v nizu. V primeru, da se iskani niz ne nahaja znotraj niza, potem vrnemo -1. Algoritem napišite sami in ni dovoljena uporaba knjižnice. Primer: contains("Lorem ipsum dolor.", "sum") vrne 8, contains("Neobvezna naloga.", "goft") vrne -1
Razredu dodajte še eno razredno metodo po lastni izbiri (naj bo vezana na tekst)!
V glavnem programu prikažite delovanje vseh metod. Pri tem pa kličite metode z različnimi argumenti in na ta način preverite, ali metode pokrivajo vse možne scenarije.
Pomoč za delo z nizi v C++. https://en.cppreference.com/w/cpp/string/basic_string