Помогите с заданием с классами
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Объявить класс для хранения данных о лампочку (тип (светодиодная энергосберегающая или лампа накаливания), мощность (Вт), цвет света, стоимость). Метод TEST: определение и вывод информации, или лампа светодиодная.
Определить количество ламп с мощностью меньше 40Вт и вывести информацию о них.
include <iostream>
include <string>
include <vector>
using namespace std;
class Lamp
{
public:
Lamp()
{
power = 0;
type = «es»;
color = «white»;
cost = 0;
}
Lamp(double power, char type, string color, double cost)
{
this->power = power;
this->type = type;
this->color = color;
this->cost = cost;
}
void TEST()
{
cout << endl << «Мощность : » << power;
cout << endl << «Тип : » << type;
cout << endl << «Цвет : » << color;
cout << endl << «Стоимость : » << cost<<endl;
}
double get_power()
{
return power;
}
private:
double power;// мощность
string type; //тип
string color; // цвет
double cost; //стоимость
friend istream & operator >>(istream &is, Lamp &lamp);
};
istream & operator >>(istream &is, Lamp &lamp)//перегрузка оператора потокового ввода
{
cout << endl << «Введите мощность лампы в Вт: » <<endl;
cin >> lamp.power;
cout << «Введите тип лампы es(энергосберегающая) или gl(лампа накаливания): » << endl;
cin >> lamp.type;
cout << «Введите цвет: » << endl;
cin >> lamp.color;
cout << «стоимость : » << endl;
cin >> lamp.cost;
return is;
}
void get_info(vector<Lamp> lamps, double power)
{
int counter = 0;
for (int i = 0; i <lamps.size(); i++)
{
if (lamps[i].get_power() > 40)
{
counter++;
cout << endl << « номер лампы : » << (i + 1) << endl;
lamps[i].TEST();
cout << endl;
}
}
cout << «количество ламп с мощностью больше » << power << « : » << counter << endl;
}
int main()
{
setlocale(LC_ALL, «ru»);
vector<Lamp> lamps;
Lamp lamp;
char answer;
while (cin >> lamp)
{
lamps.push_back(lamp);
cout << endl << «для прекращения ввода введите 'n' для продолжения ввода данных ламп введите 'y'» << endl;
cin >> answer;
if (answer == 'n')
break;
}
get_info(lamps, 40);
}