Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- class Type { //тип древесины
- private:
- std::string dimensions;
- std::string grade;
- public:
- Type(): dimensions("N/A"), grade("N/A") { //конструктор без параметров
- }
- Type(std::string dim, std::string grad) : dimensions(dim), grade(grad) { //конструктор с двумя параметрами
- }
- void getType() { // получить информацию от пользователя
- std::cout << "Введите номинальные значения(2x4 и т.д.): ";
- std::cin >> dimensions;
- std::cout << "Введите сорт(необработанная, брус и т.д.): ";
- std::cin >> grade;
- }
- void showType() const { //показ информации
- std::cout << "\n Размеры: " << dimensions;
- std::cout << "\n Сорт: " << grade;
- }
- };
- class Distance { //английские меры длины
- private:
- int feet;
- float inches;
- public: //конструктор без параметров
- Distance() : feet(0), inches(0.0) {
- }
- Distance(int ft, float in) : feet(ft), inches(in) { //конструктор с двумя параметрами
- }
- void getdist() {
- std::cout << "Введите футы: ";
- std::cin >> feet;
- std::cout << "Введите дюймы: ";
- std::cin >> inches;
- }
- void showdist() const { //показ информации
- std::cout << feet << "\'-" << inches << '\"';
- }
- };
- class Lumber : public Type, public Distance {
- private:
- int quantity; //количество штук
- double price; //цена за штуку
- public: //конструктор без параметров
- Lumber() : Type(), Distance(), quantity(0), price(0.0) {
- }
- Lumber(std::string di, std::string gr, int ft, float in, int qu, float prc) :
- Type(di, gr), Distance(ft, in), quantity(qu), price(prc) {
- }
- void getLumber() {
- Type::getType();
- Distance::getdist();
- std::cout << "Введите количество: ";
- std::cin >> quantity;
- std::cout << "Введите цену: ";
- std::cin >> price;
- }
- void showLumber() const {
- Type::showType();
- std::cout << "\n Длина: ";
- Distance::showdist();
- std::cout << "\n Стоимость " << quantity << " штук: $" << (price * quantity) << " рублей";
- }
- };
- int main() {
- setlocale(0, "");
- Lumber siding; //используем конструктор без параметров
- std::cout << "\n Информация об обшивке: \n";
- siding.getLumber(); //получаем данные от пользователя
- Lumber studs("2x4", "const", 8, 0.0, 200, 4.45F);
- std::cout << "\nОбшивка";
- siding.showLumber(); //показываем информацию
- std::cout << "\nБрус";
- studs.showLumber();
- std::cout << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement