Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<conio.h>
- #include<cstring>
- using namespace std;
- bool logiranje(char *&adminPass, char *&pass) {
- char c = 0;
- int counter = 0;
- pass = new char[20];
- cout << "Unesi password: ";
- do {
- while (c != '\r')
- {
- c = _getch();
- if (c == '\0')
- continue;
- pass[counter] = c;
- counter++;
- cout << "*";
- }
- pass[counter] = '\0';
- if (strcmp(adminPass, pass) == 0) {
- delete[]pass;
- pass = nullptr;
- return true;
- }
- else {
- cout << "Pokusaj opet" << endl;
- }
- } while (strcmp(adminPass,pass)!=0);
- }
- void OslobodiMemoriju(char *&tekst) {
- delete[] tekst;
- tekst = nullptr;
- cout << "Info: Memorija oslobodjena" << endl;
- }
- int PrikaziMeni() {
- int izbor = 1;
- do {
- cout << "Meni" << endl;
- cout << "1. Unos novog teksta" << endl;
- cout << "2. dodavanje teksta" << endl;
- cout << "3. informacije o tekstu" << endl;
- cout << "4. pretraga" << endl;
- cout << "5. zatvori editor" << endl;
- cout << "Unesi izbor: ";
- cin >> izbor;
- cin.ignore();
- system("cls");
- } while (izbor < 1 || izbor>5);
- return izbor;
- }
- void UnosTeksta(char *& tekst) {
- const int max = 300;
- char temp[max];
- cout << "Unesite tekst: ";
- cin.getline(temp, max);
- /*if (tekst != nullptr)
- OslobodiMemoriju(tekst);*/
- int vel = strlen(temp) + 1;
- tekst = new char[vel];
- strcpy_s(tekst, vel, temp);
- }
- void DodajTekst(char *& tekst) {
- const int max = 300;
- char temp[max];
- cout << "Dodaj tekst" << endl;
- cout << tekst << " ";
- cin.getline(temp, max);
- int vel = strlen(tekst) + strlen(temp) + 2;
- char *novitekst = new char[vel];
- strcpy_s(novitekst, vel, tekst);
- strcat_s(novitekst, vel, " ");
- strcpy_s(novitekst, vel, temp);
- OslobodiMemoriju(tekst);
- tekst = novitekst;
- cout << "Info: tekst dodan" << endl;
- }
- void Informacije(char * tekst) {
- int razmaci = 0, mala = 0, velika = 0, interpunkcijski = 0, brojevi = 0;
- int vel = strlen(tekst);
- for (int i = 0; i < vel; i++)
- {
- if (isspace(tekst[i]))
- razmaci++;
- else if (isdigit(tekst[i]))
- brojevi++;
- else if (islower(tekst[i]))
- mala++;
- else if (isupper(tekst[i]))
- velika++;
- else if (ispunct(tekst[i]))
- interpunkcijski++;
- }
- cout << "Info" << endl;
- cout << "Niz ima: " << strlen(tekst) << "karaktera" << endl;
- cout << "Razmaka ima: " << razmaci << endl;
- cout << "Malih slova ima: " << mala << endl;
- cout << "Velikih slova ima: " << velika << endl;
- cout << "Interpunckijski znakova ima: " << interpunkcijski << endl;
- cout << "Info: informacije prikazane" << endl;
- }
- void Pretraga(char *tekst) {
- const int max = 20;
- char temp[max];
- char nastavak;
- cout << "Pretraga" << endl;
- cout << "Unesite tekst koji trazite: ";
- cin.getline(temp, max);
- char *pok = strstr(tekst, temp);
- if (pok == NULL)
- cout << "Tekst " << temp << " nije pronadjen" << endl;
- else {
- cout << "Tekst " << temp << " je pronadjen" << endl;
- cout << "Da li zelite prikazati sadrzaj koji se nalazi nakon pronadjenog teksta (D/N): ";
- cin >> nastavak;
- if (toupper(nastavak) == 'D')
- cout << "Tekst " << pok << endl;
- }
- }
- void main() {
- int izbor = 0;
- char *tekst = nullptr;
- const int max = 10;
- char *adminPass = "djenan";
- char *userPass = nullptr;
- do {
- cout << "Tekst edition" << endl;
- izbor = PrikaziMeni();
- logiranje(adminPass, userPass);
- if (tekst == nullptr && (izbor == 2 || izbor == 3 || izbor == 4))
- cout << "Potrebno je dodati tekst prvo" << endl;
- else {
- switch (izbor)
- {
- case 1:UnosTeksta(tekst); break;
- case 2:DodajTekst(tekst); break;
- case 3:Informacije(tekst); break;
- case 4:Pretraga(tekst); break;
- }
- }
- system("pause>0");
- system("cls");
- } while (izbor != 5);
- //if (tekst != NULL)
- OslobodiMemoriju(tekst);
- //system("pause>0");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement