#include <iostream>
#include <stdlib.h>
#include <time.h>
#define n 10
using namespace std;

class OilTank
{
private:
	int code;
	int capacity;
	int contain;
public:
	OilTank() //default constructor
	{ code=0; capacity=0; contain=0;}
	// constructor using parameters' list
	OilTank(int x, int y, int z)
	{code=x; capacity=y;contain=z;}

	void print()
	{cout<<code<< "  "<<capacity<<"   "<<contain<<endl;}

	void change_contain(int q)
	{   contain=contain+q;
		if (contain<0) contain=0;
		if (contain>capacity) contain=capacity;
	};// end function

	int get_contain() { return contain;}


}; // oiltank
int main()
{ int i,in_code, in_capacity, in_contain, q;
srand((unsigned int)(time(0)));

OilTank a[n];
for (i=0;i<n;i++)
{
	a[i]=OilTank(); // explicit call !!!!!!!!!!
	a[i].print();
}; // end for

// data entry using constructor list
for (i=0;i<n;i++)
{
	// create 3 random values for x,y,z
	in_code=rand()%100; in_capacity=rand()%1000;
	in_contain=rand()%in_capacity;
	// RHTH KLHSH
	a[i]=OilTank(in_code, in_capacity, in_contain); 
	a[i].print();
};
//change contain
for (i=0;i<n;i++)
{
	cout<<"give new quantity ";
	cin>>q;
	cout<<"BEFORE -->"<<a[i].get_contain();
	a[i].change_contain(q);
	cout<<"   AFTER :"<<a[i].get_contain()<<endl;
}; // end f change
return 0;
} // end main
