Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <iomanip>
- #include<cstring>
- using namespace std;
- class Plants
- {
- protected:
- char* name;
- double win, spr, sum, aut;
- public:
- Plants() { name = NULL; }
- Plants(char*, double, double, double, double);
- ~Plants() { delete[]name; }
- char* getname() { return name; }
- double getwin() { return win; }
- double getspr() { return spr; }
- double getsum() { return sum; }
- double getaut() { return aut; }
- Plants(const Plants&);
- Plants& operator=(const Plants&);
- friend ostream& operator<<(ostream&, const Plants&);
- friend istream& operator>>(istream&, Plants&);
- };
- class Y_plants:public Plants
- {
- int year;
- public:
- Y_plants() : Plants() { }
- Y_plants(const Y_plants&);
- Y_plants(char*, double, double, double, double, int);
- Y_plants& operator=(const Y_plants&);
- Y_plants(const Plants&, int);
- int getyear() { return year; }
- friend ostream& operator<<(ostream&, const Y_plants&);
- friend istream& operator>>(istream&, Y_plants&);
- };
- Plants::Plants(char* aname, double awin, double aspr, double asum, double baut)
- {
- int n;
- n = strlen(aname);
- name = new char[n + 1];
- strcpy(name, aname);
- win = awin;
- spr = aspr;
- sum = asum;
- aut = baut;
- }
- Plants::Plants(const Plants& p)
- {
- win = p.win;
- spr = p.spr;
- sum = p.sum;
- aut = p.aut;
- int n = strlen(p.name);
- name = new char[n+1];
- strcpy(name, p.name);
- }
- Plants& Plants:: operator=(const Plants& p)
- {
- if (this != &p)
- {
- delete[]name;
- name = new char[strlen(p.name) + 1];
- strcpy(name, p.name);
- win = p.win;
- spr = p.spr;
- sum = p.sum;
- aut = p.aut;
- }
- return *this;
- }
- ostream& operator<<(ostream& s, const Plants& p)
- {
- s << p.name << " " << p.win << " " << p.spr << " " << p.sum << " " << p.aut << '\n';
- return s;
- }
- istream& operator>>(istream& s, Plants& p)
- {
- char text[100];
- s >> text >> p.win >> p.spr >> p.sum >> p.aut;
- delete[]p.name;
- p.name = new char[strlen(text) + 1];
- strcpy(p.name, text);
- return s;
- }
- Y_plants::Y_plants(char* aname, double awin, double aspr, double asum, double baut, int ayear):Plants(aname, awin, aspr, asum, baut)
- {
- year = ayear;
- }
- Y_plants::Y_plants(const Y_plants& p) : Plants(p)
- {
- year = p.year;
- }
- Y_plants::Y_plants(const Plants& p, int ayear) : Plants(p)
- {
- year = ayear;
- }
- Y_plants& Y_plants::operator=(const Y_plants& p)
- {
- if (this != &p)
- {
- delete[]name;
- name = new char[strlen(p.name) + 1];
- strcpy(name, p.name);
- win = p.win;
- spr = p.spr;
- sum = p.sum;
- aut = p.aut;
- year = p.year;
- }
- return *this;
- }
- ostream& operator<<(ostream& s, const Y_plants& c)
- {
- s << Plants(c) << " " << c.year;
- return s;
- }
- istream& operator>>(istream& s, Y_plants& c)
- {
- Plants x;
- s >> x >> c.year;
- c.name=new char[strlen(x.getname())+1];
- strcpy(c.name,x.getname());
- c.aut=x.getaut();
- c.win=x.getwin();
- c.sum=x.getsum();
- c.spr=x.getspr();
- return s;
- }
- int main()
- {
- setlocale(LC_ALL, "");
- Y_plants a[50];
- double win, spr, sum, aut, l = 0, max = 0, r = 0, t = 0, y = 0;
- int i, n, y1;
- cout << "Введите кол-во цехов: ";
- cin >> n;
- cout << "Введите название цеха, выработку за каждый квартал в рублях (с 1-го по 4-й) и какого года: ";
- for (i = 0; i < n; i++)
- cin >> a[i];
- cout << "\n\n";
- cout << "Название цеха| 1-й квартал | 2-й квартал | 3-й квартал| 4-й квартал| Год| \n";
- for (i = 0; i < n; i++)
- cout << a[i];
- for (i = 0; i < n; i++)
- {
- l += a[i].getwin();
- r += a[i].getspr();
- t += a[i].getsum();
- y += a[i].getaut();
- }
- if (max < l / n)
- max = l / n;
- if (max < r / n)
- max = r / n;
- if (max < t / n)
- max = t / n;
- if (max < y / n)
- max = y / n;
- cout << "Наибольшая выработка по заводу(в рублях) за квартал: " << '\n';
- if (max == l / n)
- cout << "1-й Квартал: " << max <<" "<< '\n';
- if (max == r / n)
- cout << "2-й Квартал: " << max <<" "<< '\n';
- if (max == t / n)
- cout << "3-й Квартал: " << max <<" "<< '\n';
- if (max == y / n)
- cout << "4-й Квартал: " << max <<" "<< '\n';
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement