Advertisement
NuquernaNarsil

Untitled

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