double mass;
int oxistate;
int quantity;
std::string symbol;
Element (int z, double m, int oxi, int q, std::string short_name)
{
number = z;
mass = m;
oxistate = oxi;
quantity = q;
symbol = short_name;
}
};
std::ostream& operator<<(std::ostream& os, const Element& E)
{
os << E.symbol;
return os;
}
Element operator+ (Element const& e1, Element const& e2)
{
if (e1.quantity * e1.oxistate == e2.quantity * (-1*(e2.oxistate)))
{
if (e1.quantity == 1 && e2.quantity == 1)
{
compound = e1.symbol + e2.symbol;
}
if (e1.quantity != 1 && e2.quantity == 1)
{
compound = e1.symbol + e1.quantity + e2.symbol;
}
if (e1.quantity == 1 && e2.quantity != 1)
{
compound = e1.symbol + e2.symbol + e2.quantity;
}
if (e1.quantity != 1 && e2.quantity != 1)
{
if (e1.quantity == e2.quantity)
{
compound = e1.quantity + e1.symbol + e2.symbol;
}
else
compound = e1.symbol + e1.quantity + e2.symbol + e2.quantity;
}
}
return e1;
}
int main ()
{
Element H (1, 1.008, 1, 2, "H");
Element C (6, 12.0096, 4, 1, "C");
Element Cl (17, 35.45, -1, 4, "Cl");
Element O (8, 15.999, -2, 1, "O");
Element Br (35, 79.901, 4, 1,"Br");
H + Cl;
std::cout << '\n';
C + Cl;
std::cout << '\n';
H + O;
std::cout << '\n';
Br + O;
std::cout << '\n';
}
Жалуется на то, что я добавляю string с int в string. Как можно сконвертировать int в string без особых проблем ?
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Обсуждают сегодня