Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <string>
- #include <fstream>
- using namespace std;
- void justowanie(string tekst)
- {
- string justed;
- int miejscespacji=0, x=1, wiersze=1;
- cout << tekst;
- for (size_t i = 0; i < tekst.length(); i++)
- {
- justed += tekst[i];
- if (justed[i] == ' ')
- miejscespacji = i;
- if (x == 120)
- {
- justed[miejscespacji] = '\n';
- int old = justed.length();
- justed = justed.substr(0, miejscespacji + 1);
- i -= old - justed.length();
- x = 1;
- wiersze++;
- continue;
- }
- x++;
- }
- string justedtab[wiersze];
- int y=0;
- for(int i=0; i<justed.length();i++)
- {
- justedtab[y]+=justed[i];
- if(justed[i]=='\n')
- y++;
- }
- int dodac=0;
- for(int i=0; i<wiersze; i++)
- {
- dodac=120-justedtab[i].length()+1;
- for(int j=0; j<justedtab[i].length(); j++)
- {
- if(justedtab[i][j]==' ')
- {
- dodac--;
- justedtab[i].insert(j," ");
- }
- if(dodac<1)
- break;
- }
- }
- cout << wiersze;
- ofstream zapis;
- zapis.open("wyjustowany.txt");
- for(int i=0; i<wiersze; i++)
- zapis << justedtab[i];
- zapis.close();
- }
- bool start()
- {
- int choose;
- cout <<"Program justuje tekst z pliku (.txt) o podanej nazwie, lub wczytany z klawiatury\n";
- system("pause"); system("cls");
- cout <<"Wczytac tekst z pliku, czy zostanie podany ?\n1.Z pliku.\n2.Podany.\nTwoj wybor: ";
- do{
- cin >> choose;
- if(!cin || choose!=1 && choose!=2)
- {
- cout <<"\nPodaj poprawna liczbe: ";
- cin.clear();
- cin.sync();
- }
- }while(!cin || choose!=1 && choose!=2);
- system("pause"); system("cls");
- if(choose==1)
- return 1;
- else
- return 0;
- }
- void zpliku ()
- {
- int choose;
- ifstream plik;
- string nazwapliku,tekst;
- do{
- cout <<"Podaj nazwe pliku (bez rozszerzenia), z ktorego wczytac tekst: ";
- cin >> nazwapliku;
- nazwapliku+=".txt";
- plik.open(nazwapliku.c_str());
- if(plik.is_open())
- {
- while(plik.good())
- {
- getline(plik, tekst);
- }
- justowanie(tekst);
- choose=2;
- }
- else
- {
- cout <<"Problem z odczytem pliku. \nBrak pliku o takiej nazwie, lub plik nie jest plikiem .txt";
- cout <<"\n\n1.Podaj nazwe ponownie.\n2.Wyjdz.\n\nWybor: ";
- do{
- cin >> choose;
- if(!cin || choose!=1 && choose!=2)
- {
- cout <<"\nPodaj poprawna liczbe: ";
- cin.clear();
- cin.sync();
- }
- }while(!cin || choose!=1 && choose!=2);
- }
- system("pause"); system("cls");
- }while(!cin || choose==1 );
- }
- void stdstr()
- {
- string tekst;
- cout <<"Podaj tekst, ktory ma zostac wyjustowany: ";
- cin.clear();
- cin.sync();
- getline(cin, tekst);
- justowanie(tekst);
- }
- main()
- {
- if(start())
- zpliku();
- else
- stdstr();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement