Guest User

Untitled

a guest
Dec 3rd, 2019
76
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <math.h>
  4. #include <string>
  5. #include <fstream>
  6. #include <cstdio> // для функции remove
  7. using namespace std;
  8.  
  9. int main() {
  10. setlocale(0, "");
  11. string inp;
  12. cout << "\t\t[Выберите задание]\n"; //меню
  13. cout << "\t\t 1.Задача «Заем»\n";
  14. cout << "\t\t 2.Задача «Ссуда»\n";
  15. cout << "\t\t 3.Задача «Копирование файла»\n";
  16. cout << "\t\t 4.Задача «Фильтр»\n";
  17. cout << "\t\t 5.Задача «Сортировка букв»\n";
  18.  
  19. float n, S, p, m, k;
  20.  
  21. while (inp != "end") {
  22. cout << ">";
  23. cin >> inp;
  24. if (inp != "1" && inp != "2" && inp != "3" && inp != "4" && inp != "5" && inp != "menu" && inp != "end" && inp != "delete") {
  25. cout << "\nInvalid input, try again\n\n";
  26. }
  27. if (inp == "1") { //Задача «Заем»
  28. cout << "\nСколько заняли рублей? ";
  29. cin >> S;
  30. while (S <= 0) {
  31. cout << "Некорректное значение, попробуйте ещё раз ";
  32. cin >> S;
  33. }
  34. cout << "На сколько лет? ";
  35. cin >> n;
  36. while (n <= 0) {
  37. cout << "Некорректное значение, попробуйте ещё раз ";
  38. cin >> n;
  39. }
  40. cout << "Под какой процент? ";
  41. cin >> p;
  42. while (p <= 0) {
  43. cout << "Некорректное значение, попробуйте ещё раз ";
  44. cin >> p;
  45. }
  46. m = (S*(p / 100)*(pow((1 + (p / 100)), n))) / (12 * ((pow((1 + (p / 100)), n)) - 1));
  47. if (m >= 1000000) {
  48. cout << "Месячная выплата состовляет: " << int(m) + 1 << " рублей.\n\n";
  49. }
  50. else {
  51. cout << "Месячная выплата состовляет: " << m << " рублей.\n\n";
  52. }
  53. }
  54. if (inp == "2") { //Задача «Ссуда»
  55. cout << "\nСколько заняли рублей? ";
  56. cin >> S;
  57. while (S <= 0) {
  58. cout << "Некорректное значение, попробуйте ещё раз ";
  59. cin >> S;
  60. }
  61. cout << "На сколько лет? ";
  62. cin >> n;
  63. while (n <= 0) {
  64. cout << "Некорректное значение, попробуйте ещё раз ";
  65. cin >> n;
  66. }
  67. cout << "Какая месячная выплата? (не меньше чем ";
  68. float ml = S / (n * 12);
  69. if (ml >= 1000000) {
  70. cout << int(ml) + 1;
  71. }
  72. else {
  73. cout << ml;
  74. }
  75. cout << ") ";
  76. cin >> m;
  77. while (m < (S / (n * 12))) {
  78. cout << "Некорректное значение, попробуйте ещё раз ";
  79. cin >> m;
  80. }
  81. p = 0;
  82. k = 0;
  83. while (k < m) {
  84. p += 0.001;
  85. k = (S*(p / 100)*(pow((1 + (p / 100)), n))) / (12 * ((pow((1 + (p / 100)), n)) - 1));
  86. }
  87. cout << "Ссуда выдана под " << round(p * 100) / 100 << "% годовых.\n\n";
  88. }
  89. if (inp == "3") { //Задача «Копирование файла»
  90. cout << "\nСоздаёт текстовый файл с текстом 'Задание выполнено'. Копируем содержимое файла и выводим на экран.\n";
  91. ofstream fout("C:/Users/Saint/Desktop/testfile.txt");
  92. fout << "Задание выполнено";
  93. fout.close();
  94. ifstream fin("C:/Users/Saint/Desktop/testfile.txt");
  95. if (!fin.is_open()) // если файл не открыт
  96. cout << "Файл не может быть открыт!\n\n"; // сообщить об этом
  97. else {
  98. char st[20]; // объявление символьного массива (строки)
  99. fin.getline(st, 20); // считали строку из файла
  100. fin.close(); // закрываем файл
  101. cout << st << "\n\n"; // напечатали эту строку
  102. }
  103. }
  104. if (inp == "4") { //Задача «Фильтр»
  105. cout << "\nСоздаём файл, содержащий 'fhs 12 fjr 45 sjw 7 fk 8 gk 0', и выводим только цифры.\n";
  106. ofstream fout("C:/Users/Saint/Desktop/testfile.txt");
  107. fout << "fhs 12 fjr 45 sjw 7 fk 8 gk 0";
  108. fout.close();
  109. ifstream fin("C:/Users/Saint/Desktop/testfile.txt");
  110. if (!fin.is_open()) // если файл не открыт
  111. cout << "Файл не может быть открыт!\n\n"; // сообщить об этом
  112. else {
  113. char da = ' ';
  114. while (da != '0') {
  115. fin >> da;
  116. if (da == '1' || da == '2' || da == '3' || da == '4' || da == '5' || da == '6' || da == '7' || da == '8' || da == '9' || da == '0')
  117. cout << da;
  118. else
  119. cout << " ";
  120. }
  121. }
  122. cout << "\n\n";
  123. }
  124. if (inp == "5") { //Задача «Сортировка букв»
  125. cout << "\nЗадаём строку в 30 букв \"rxcftgvbhyujnmkiolpaqwsdergjkz\" и раставляем их в алфавитном порядке\n\n";
  126. char arr[] = { 'r', 'x', 'c', 'f', 't', 'g', 'v', 'b', 'h', 'y', 'u', 'j', 'n', 'm', 'k', 'i', 'o', 'l', 'p', 'a', 'q', 'w', 's', 'd', 'e', 'r', 'g', 'j', 'k', 'z' };
  127.  
  128. const int SIZE = 30;
  129. int arr2[SIZE], j, j_;
  130.  
  131. /* for(int i = 0; i < SIZE; i++) {
  132. int memory = int(arr[i]);
  133. for (int j = 0; j < SIZE; j++) {
  134. if(memory >= int(arr[j])) {
  135. memory = int(arr[j]);
  136. j_ = j;
  137. }
  138. }
  139. arr[j_] = 124;
  140. arr2[i]=memory;
  141. cout<< char(arr2[i]) << " ";
  142. for(int g = 0; g < SIZE; g++) {
  143. cout << arr[g];
  144. }
  145. cout << "\n———————\n";
  146. }*/
  147.  
  148.  
  149. ///////////////////////////////////////
  150.  
  151.  
  152. for(int i = 0; i < SIZE; i++) {
  153. int memory = int(arr[i]);
  154. int memory1 = int(arr[i]);
  155. j = i;
  156. for (; j < SIZE; j++) {
  157. if(memory >= int(arr[j])) {
  158. memory = int(arr[j]);
  159. j_ = j;
  160. }
  161. }
  162. arr[j_] = memory1;
  163. arr[i]=memory;
  164. cout<< char(arr[i]) << " ";
  165. for(int g = 0; g < SIZE; g++) {
  166. cout << arr[g];
  167. }
  168. cout << "\n———————\n";
  169. }
  170.  
  171.  
  172. /* string text("zxcftgvbhyujnmkiolpaqwsdergjkz");
  173. int *mas = new int[text.length()];
  174. int j;
  175. for (int i = 0; i < text.length(); i++)
  176. {
  177. j = (int)text[i]; // узнаем числовое значение символа
  178. mas[i] = j; //заносишь в целочисленный масив числовое значение символа
  179. }
  180. //сортируем массив
  181. for (int i = text.length() - 1; i >= 1; --i)
  182. {
  183. for (int j = 0; j < i; ++j)
  184. {
  185. if (mas[j] > mas[j + 1])
  186. {
  187. int buf = mas[j];
  188. mas[j] = mas[j + 1];
  189. mas[j + 1] = buf;
  190. }
  191. }
  192. }
  193. //выводим отсортированну строку
  194. for (int i = 0; i < text.length(); i++)
  195. {
  196. cout << (char)mas[i];
  197. }
  198. delete[] mas;
  199. cout << "\n\n"; */
  200. }
  201. if (inp == "delete") {
  202. if (remove("C:/Users/Saint/Desktop/testfile.txt") != 0) // удаление файла testfile.txt
  203. cout << "\nОшибка удаления testfile.txt\n\n";
  204. else
  205. cout << "\ntestfile.txt успешно удалён\n\n";
  206. }
  207. }
  208. return 0;
  209. }
RAW Paste Data