#include<iostream>
#include<string.h>
using namespace std;
//vc++6.0不允许在声明运算符重载前使用using namespace std;所以要分别列出对cout和endl的使用
class Sales_item
{
public:
char no[20];
int count;
float average;
public:
Sales_item operator+(Sales_item &c1);
friend ostream& operator <<(ostream&, Sales_item&);
friend istream& operator >>(istream&, Sales_item&);
Sales_item(char n[20],int c,float a)
{strcpy(no,n);count=c;average=a;}
Sales_item()
{strcpy(no,"");count=0;average=0;}
};
Sales_item Sales_item::operator +(Sales_item &c1)
{
return Sales_item(c1.no,count+c1.count,(count*average+c1.count*c1.average)/(count+c1.count));
}
ostream & operator<<(ostream &output, Sales_item& c)
{
output<<c.no<<" "<<c.count<<" "<<c.average<<endl;
return output;
}
istream & operator>>(istream &input, Sales_item& c)
{
input>>c.no>>c.count>>c.average;
return input;
}
int main()
{
Sales_item item1,item2;
cin>>item1>>item2;
cout<<item1+item2;
return 0;
}