Помогите с заданием с классами

Объявить класс для хранения данных о лампочку (тип (светодиодная энергосберегающая или лампа накаливания), мощность (Вт), цвет света, стоимость). Метод 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);
}

#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);
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.