Untitled
unknown
plain_text
4 years ago
5.0 kB
6
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...