Untitled
unknown
plain_text
4 years ago
5.0 kB
5
Indexable
#include <iostream> #include <cstdlib> #include <iomanip> #include <cmath> #include <fstream> #include <string> using namespace std; int main() { ofstream t("file_3.txt"); ifstream f; string a = "file.txt"; ifstream fout; ifstream fin; float S, m, n; double r = -1, p = 0; int number_task=0; int out = 1; bool b = false; while(out){ switch (number_task) { case 0: cout<< "\n\nInput number task:\n\n"; cout<<"[1] Задача «Заем».\n[2] Задача «Ссуда».\n[3] Задача «Копирование файла».\n[4] Задача «Фильтр».\n[5] Задача «Сортировка букв».\n"; cin>> number_task; break; case 1: cout << "Введите сумму займа S:" << endl; cin >> S; cout << "Введите процент p:" << endl; cin >> p; cout << "Введите количество лет n:" << endl; cin >> n; if (p == 0) { m = S / (12 * n); cout << "Ваша месячная выплата равна " << m << endl; } else if ((S <= 0) || (n <= 0)) { cout << "Вы ввели некорректные данные" << endl; } else { r = p * 0.01; m = (S * r * (pow((1 + r), n))) / (12 * (pow((1 + r), n) - 1)); cout << "Ваша месячная выплата равна " << m << endl; } number_task = 0; break; case 2: ; cout << "Введите сумму займа S:" << endl; cin >> S; cout << "Введите ежемесячную плату m:" << endl; cin >> m; cout << "Введите количество лет n:" << endl; cin >> n; if ((S <= 0) || (n <= 0) || (m < 0)) { cout << "Вы ввели некорректные данные" << endl; return 0; } if (m == 0) { cout << "p равен -100%" << endl; return 0; } if (m - (S / (12 * n)) == 0) { cout << "p равен " << 0 << "%" << endl; } else { while ((round((m - ((S * r * (pow((1 + r), n))) / (12 * (pow((1 + r), n) - 1)))) * 10) * 0.1 != 0) && (p < 10000)) { r += 0.00001; p = r * 100; } if (p >= 10000) { cout << "Вы брали кредит в банке приколов? Такого не бывает..." << endl; } else { cout << "p равен " << round(p * 10) * 0.1 << "%" << endl; } } number_task = 0; break; case 3: a = "file_3.txt"; t << "Работа с файлами в С++"; t.close(); f.open(a); if (!f.is_open()){ cout << "Ошибка" << endl; } else { string j; //char j; //while (fin.get(j)) { //cout << j; //} while (!f.eof()) { //eof - end of file j = "1111"; getline (f, j); cout << j << endl; } } f.close(); number_task = 0; break; case 4: a = "./file_abc.txt"; fout.open(a); if (!fout.is_open()) { cout << "Ошибка" << endl; } else { char c1; while (fout.get(c1)) { if (c1 >= '0' && c1 <= '9') { if (b == true) { cout << " " << c1; b = false; } else { cout << c1; } } else { b = true; } } fout.close(); } number_task = 0; break; case 5: a = "./file_abc.txt"; fout.open(a); if (!fout.is_open()) { cout << "Ошибка" << endl; } else { int N = 0; char c1; while (fout.get(c1)) { N += 1; } fout.close(); fout.open(a); char* arr = new char[N]; for (int i = 0; i < N; i++) { fout.get(c1); arr[i] = c1; cout << arr[i]; } cout << " - your initial line" << endl; int j = 0; int tmp = 0; float a, b; for (int i = 0; i < N; i++) { j = i; for (int k = i; k < N; k++) { a = arr[j]; b = arr[k]; if (a > 64 and a < 91) { a = a + 31.5; } if (b > 64 and b < 91) { b = b + 31.5; } if (a > b) { j = k; } } tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } for (int i = 0; i < N; i++) { //вывод отсортированного массива cout << arr[i]; } cout << " - your sorted line" << endl; delete[] arr; fout.close(); } number_task = 0; break; default: number_task = 0; break; } } }
Editor is loading...