Advertisement
NuquernaNarsil

calejust

Nov 16th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <string>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. void justowanie(string tekst)
  9. {
  10.     string justed;
  11.     int miejscespacji=0, x=1;
  12.     const int MAX=119;
  13.     cout << tekst;
  14.     for(int i=0; i<tekst.length();i++)
  15.     {
  16.        
  17.         if(x!=120 || i==0)
  18.             justed+=tekst[i];
  19.         else
  20.         {
  21.             if(tekst[i]==' ')
  22.             {
  23.             justed+='\n';
  24.             }
  25.             else
  26.             {
  27.                 justed.insert(miejscespacji,"\n");
  28.                 justed.erase(miejscespacji+1,1);
  29.             }  
  30.         x=0;
  31.         justed+=tekst[i];
  32.         }  
  33.        
  34.         if(justed[i]==' ')
  35.             miejscespacji=i;
  36.        
  37.         if(justed[justed.length()-1]==' ' && justed[justed.length()-2]=='\n')
  38.             justed.erase(justed.length()-1, 1);
  39.            
  40.         x++;
  41.         cout <<x<< " ";
  42.         if(i%20==0)
  43.             cout <<"\n";
  44.        
  45.     }
  46.  
  47.    
  48.     ofstream zapis;
  49.     zapis.open("wyjustowany.txt");
  50.     zapis << justed;
  51.     zapis.close();
  52.     }
  53.  
  54.  
  55.  
  56. bool start()
  57. {
  58.     int choose;
  59.     cout <<"Program justuje tekst z pliku (.txt) o podanej nazwie, lub wczytany z klawiatury\n";
  60.     system("pause"); system("cls");
  61.     cout <<"Wczytac tekst z pliku, czy zostanie podany ?\n1.Z pliku.\n2.Podany.\nTwoj wybor: ";
  62.     do{
  63.     cin >> choose;
  64.         if(!cin || choose!=1 && choose!=2) 
  65.         {
  66.             cout <<"\nPodaj poprawna liczbe: ";
  67.             cin.clear();
  68.             cin.sync();
  69.         }
  70.     }while(!cin || choose!=1 && choose!=2);
  71.     system("pause"); system("cls");
  72.    
  73.     if(choose==1)
  74.         return 1;
  75.     else
  76.         return 0;
  77. }
  78.  
  79. void zpliku ()
  80. {
  81.     int choose;
  82.     ifstream plik;
  83.     string nazwapliku,tekst;
  84.    
  85.     do{
  86.         cout <<"Podaj nazwe pliku (bez rozszerzenia), z ktorego wczytac tekst: ";
  87.         cin >> nazwapliku;
  88.         nazwapliku+=".txt";
  89.         plik.open(nazwapliku.c_str());
  90.         if(plik.is_open())
  91.         {
  92.             while(plik.good())
  93.                 {
  94.                     getline(plik, tekst);
  95.                 }
  96.             justowanie(tekst);
  97.             choose=2;
  98.         }
  99.         else
  100.         {
  101.             cout <<"Problem z odczytem pliku. \nBrak pliku o takiej nazwie, lub plik nie jest plikiem .txt";
  102.             cout <<"\n\n1.Podaj nazwe ponownie.\n2.Wyjdz.\n\nWybor: ";
  103.             do{
  104.             cin >> choose;
  105.                 if(!cin || choose!=1 && choose!=2) 
  106.                 {
  107.                     cout <<"\nPodaj poprawna liczbe: ";
  108.                     cin.clear();
  109.                     cin.sync();
  110.                 }
  111.             }while(!cin || choose!=1 && choose!=2);
  112.         }
  113.         system("pause"); system("cls");
  114.     }while(!cin || choose==1 );
  115.    
  116. }
  117.  
  118. void stdstr()
  119. {  
  120.     string tekst;
  121.     cout <<"Podaj tekst, ktory ma zostac wyjustowany: ";
  122.     cin.clear();
  123.     cin.sync();
  124.     getline(cin, tekst);
  125.     justowanie(tekst);
  126. }
  127.  
  128.  
  129.  
  130. main()
  131. {
  132.     if(start())
  133.         zpliku();
  134.     else
  135.         stdstr();
  136.    
  137.     return 0;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement