Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
1.38 Кб
Скачать
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;

class ElectricCounter {
private:
    double currentValue;
    double minValue;
    double maxValue;
    string unit;
    
public:
    ElectricCounter(double minVal, double maxVal, string u = "кВт·ч") 
        : minValue(minVal), maxValue(maxVal), unit(u) {
        currentValue = minValue;
    }
    
    void increase(double amount) {
        currentValue += amount;
        if (currentValue > maxValue) {
            currentValue = minValue + (currentValue - maxValue - 1);
            cout << "Счетчик обнулился!" << endl;
        }
    }
    
    void print() {
        cout << "Текущее значение счетчика: " << currentValue << " " << unit << endl;
    }
    
    double getCurrentValue() { return currentValue; }
};

int main() {
    SetConsoleOutputCP(65001);
    
    ElectricCounter counter(0, 9999, "кВт·ч");
    cout << "Исходное состояние счетчика:" << endl;
    counter.print();
    
    counter.increase(100);
    cout << "После увеличения на 100:" << endl;
    counter.print();
    
    counter.increase(10000);
    cout << "После увеличения на 10000 (с обнулением):" << endl;
    counter.print();
    
    return 0;
}
Соседние файлы в папке Лаба2