Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая информатика 2013 / Курсовая информатика 2013 / class
.cpp#include <iostream>
#include <string>
#include "class.h"
using namespace std;
unsigned int Prod::N = 6;
/* КОНСТРУКТОРЫ И ДЕСТРУКТОРЫ */
Prod::Prod(){
name="";
balance=0.0;
tec = new float[N];
for(unsigned int i=0;i<N;i++){
tec[i]=0;
}
}
Prod::Prod(string a){
name=a;
balance=0.0;
tec = new float[N];
for(unsigned int i=0;i<N;i++){
tec[i]=0;
}
}
Prod::Prod(string a1,double a2,float a3[6]){
name=a1;
balance=a2;
tec = new float[N];
for(unsigned int i=0;i<N;i++){
tec[i]=a3[i];
}
}
Prod::~Prod(){
delete [] tec;
}
/* ПЕРЕГРУЗКА ОПЕРАЦИЙ */
bool operator >(Prod& a, Prod& b){
if(a[2] > b[2]) return true;
return false;
}
bool operator <(Prod& a, Prod& b){
return b>a;
}
bool operator ==(Prod& a, Prod& b){
return (a>b && a<b);
}
/* ПЕРЕГРУЗКА ПОТОКОВЫХ ОПЕРАЦИЙ */
ostream& operator <<(ostream& s,Prod& a){
s<<"Название: "<<a.name<<endl
<<"Баланс: "<<a.balance<<endl
<<"ТЭП: "<<endl;
for(unsigned int i=0;i<a.N;i++){
s<<"\t"<<i<<": "<<a[i]<<endl;
}
return s;
}
istream& operator >>(istream& s,Prod& a){
cout<<"Введите название предприятия:"<<endl;
cin>>a.name;
cout<<"Установите балансовую стоимость фондов "<<a.name<<":"<<endl;
cin>>a.balance;
cout<<"Введите основные ТЭП:"<<endl;
for(unsigned i=0;i<a.N;i++){
cout<<"ТЭП #"<<i<<endl;
cin>>a[i];
}
return s;
}
/* ПЕРЕГРУЗКА ОПЕРАТОРОВ */
float& Prod::operator [](unsigned int a){
if(a >= 0 && a < N){
return *(tec+a);
}
}
/* МЕТОДЫ КЛАССА */
unsigned int Prod::maxTEC(){
unsigned int maxi = 0;
float max=tec[0];
for(unsigned int i=1;i<N;i++){
if(tec[i] > max){maxi=i; max=tec[i];}
}
return maxi;
}
float Prod::TEC(unsigned int a){
return tec[a];
}
string Prod::Name(){
return name;
}
double Prod::Balance(){
return balance;
}