-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
91 lines (85 loc) · 2.32 KB
/
main.cpp
File metadata and controls
91 lines (85 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <bits/stdc++.h>
#include "lab3_3.h"
using namespace std;
int main()
{
bool check;
Array *ar;
setlocale(LC_ALL,"Ukrainian");
cout << "Ôåäèíà Àëiíà. Ëàáîðàòîðíà ðîáîòà 2-3 \"Çìiíà ìàñèâó\"\n\n";
do
{
int t=indicator();
switch (t)
{
case 1:
int n;
do{
cout << "Ââåäiòü äîäàòíþ äîâæèíó ìàñèâó: ";
cin >> n;
} while (n<1);
ar=new Array(n); check=1; break;
case 2: ar=new Array(); check=ar->keyboard(cin); break;
case 3: ar=new Array(); check=file_in(ar); break;
case 9: cout << "Ðîáîòó çàêií÷åíî"; return 0;
break;
}
}while (!check);
//ar->out(cout);
ar->processing();
int out=out_indicator();
if (out==1) ar->out(cout); else file_out(ar);
ar->~Array();
cout << "\nÐîáîòó çàêií÷åíî";
return 0;
}
int indicator()
{
int p;
cout << "Ñïîñîáè çàïîâíåííÿ ìàñèâó: \n 1 – çàïîâíèòè ìàñèâ ïñåâäîâèïàäêîâèìè ÷èñëàìè\n";
cout << " 2 – ââåñòè ÷èñëà çà äîïîìîãîþ êëàâiàòóðè \n 3 - ââåäåííÿ ç ôàéëó\n 9 – çàêií÷èòè ðîáîòó \n";
do{
cout << "Âêàæiòü îäèí iç ÇÀÏÐÎÏÎÍÎÂÀÍÈÕ ñïîñîáiâ: ";
cin >> p;
if (cin.fail()) {cin.clear(); cin.sync();}
} while (p!=1 && p!=2 && p!=3 && p!=9);
return p;
}
int out_indicator()
{
int p;
cout << "Ñïîñîáè âèâåäåííÿ ìàñèâó: \n 1 – âèâåäåííÿ íà åêðàí\n 2 – âèâåäåííÿ ó ôàéë \n";
do{
cout << "Âêàæiòü îäèí iç ÇÀÏÐÎÏÎÍÎÂÀÍÈÕ ñïîñîáiâ: ";
cin >> p;
if (cin.fail()) {cin.clear(); cin.sync();}
} while (p!=1 && p!=2);
return p;
}
bool file_in(Array* & ar)
{
string FN;
ifstream fi;
cout << "Ââåäiòü øëÿõ äî âõiäíîãî ôàéëó: ";
cin.clear(); cin.sync();
getline(cin, FN);
if (FN=="") FN="input.txt";
fi.open(FN);
if (!fi) return cout<<"Ôàéë íå çíàéäåíî\n",0;
bool ch=ar->keyboard(fi);
fi.close();
return ch;
}
void file_out(Array* & ar)
{
ofstream f;
string FN;
cout << "Ââåäiòü øëÿõ äî âèõiäíîãî ôàéëó: ";
cin.clear(); cin.sync();
getline(cin, FN);
if (FN=="") FN="output.txt";
f.open(FN);
ar->out(f);
f.close();
return;
}