-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
86 lines (77 loc) · 2.01 KB
/
main.cpp
File metadata and controls
86 lines (77 loc) · 2.01 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
#include <bits/stdc++.h>
#include "lab24.h"
using namespace std;
istream* choose_in();
ostream* choose_out();
int main()
{
setlocale(LC_ALL,"Ukrainian");
cout << "Ôåäèíà Àëiíà. Ëàáîðàòîðíà ðîáîòà 2-4. Äèíàìi÷íi çâ’ÿçàíi ñïèñêè\n";
Pol a, b, c;
istream *ps;
ps=choose_in(); a.input(*ps);
ps=choose_in(); b.input(*ps);
cout << "\nÄîäàâàííÿ äâîõ ïîëiíîìiâ";
c=a+b;
ostream *fo;
fo=choose_out(); c.output(*fo);
if (&cout!=&(*fo))
{
(*((ofstream*)fo)).close();
delete fo;
}
cout << "\nÌíîæåííÿ äâîõ ïîëiíîìiâ";
c=a*b;
fo=choose_out(); c.output(*fo);
if (&cout!=&(*fo))
{
(*((ofstream*)fo)).close();
delete fo;
}
cout << "\nÄiëåííÿ äâîõ ïîëiíîìiâ";
c=a/b;
fo=choose_out(); c.output(*fo);
if (&cout!=&(*fo))
{
(*((ofstream*)fo)).close();
delete fo;
}
return 0;
}
istream* choose_in()
{
int p;
cout << "\nÑïîñîáè ââåäåííÿ äàíèõ:\n 1 – ââåñòè ÷èñëà çà äîïîìîãîþ êëàâiàòóðè\n 2 - ââåäåííÿ ç ôàéëó\n";
do{
cout << "Âêàæiòü îäèí iç ÇÀÏÐÎÏÎÍÎÂÀÍÈÕ ñïîñîáiâ: ";
cin >> p;
if (cin.fail()) {cin.clear(); cin.sync();}
} while (p!=1 && p!=2);
if (p==1) return &cin;
string FN;
ifstream *ps=new ifstream;
do{
cout << "Ââåäiòü øëÿõ äî âõiäíîãî ôàéëó: ";
cin >> FN;
(*ps).open(FN);
if (!(*ps)) cout<<"Ôàéë íå çíàéäåíî\n";
} while (!(*ps));
return ps;
}
ostream* choose_out()
{
int p;
cout << "\nÑïîñîáè âèâåäåííÿ ðåçóëüòàòó: \n 1 – âèâåäåííÿ íà åêðàí\n 2 – âèâåäåííÿ ó ôàéë \n";
do{
cout << "Âêàæiòü îäèí iç ÇÀÏÐÎÏÎÍÎÂÀÍÈÕ ñïîñîáiâ: ";
cin >> p;
if (cin.fail()) {cin.clear(); cin.sync();}
} while (p!=1 && p!=2);
if (p==1) return &cout;
string FN;
ofstream *ps=new ofstream;
cout << "Ââåäiòü øëÿõ äî âèõiäíîãî ôàéëó: ";
cin >> FN;
(*ps).open(FN);
return ps;
}