Программа через интерфейс класса и реализацию класса. 1- файл. Сам класс. //Интерфейс класса //Исполняемый файл #include <iostream> #include "pch.h" #define K1 1000.0 class ObozPerem { private: double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; public: ObozPerem(int , int , double , double , double , double , double , double , double , double , double , double); void message(); void message1(); void setPerem(int, int, double, double, double, double, double, double, double, double, double, double); void getPerem(); }; Код //Интерфейс класса //Исполняемый файл #include <iostream> #include "pch.h" #define K1 1000.0 class ObozPerem { private: double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; public: ObozPerem(int , int , double , double , double , double , double , double , double , double , double , double); void message(); void message1(); void setPerem(int, int, double, double, double, double, double, double, double, double, double, double); void getPerem(); }; 2- файл. Реализация класса. //Заголовочнфй файл //Реализация класса #include <iostream> #include "pch.h" #include "ObozPerem.h" #pragma once using namespace std; ObozPerem::ObozPerem(int znach_Jt, int znach_Jt1, double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI, double znach_Zbv, double znach_ZbIv, double znach_Vp, double znach_Dmp) { setPerem(znach_Jt, znach_Jt1, znach_Zb, znach_Ms, znach_Yd, znach_Zbp, znach_Ot, znach_ZbI, znach_Zbv, znach_ZbIv, znach_Vp, znach_Dmp); } void ObozPerem::message() { cout << "Вычисления!\n"; } void ObozPerem::setPerem(int znach_Jt, int znach_Jt1, double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI, double znach_Zbv, double znach_ZbIv, double znach_Vp, double znach_Dmp) { Zb = znach_Zb; Ms = znach_Ms; Yd = znach_Yd; Zbp = znach_Zbp; Ot = znach_Ot; ZbI = znach_ZbI; Zbv = znach_Zbv; ZbIv = znach_ZbIv; Vp = znach_Vp; Dmp = znach_Dmp; Jt = znach_Jt; Jt1 = znach_Jt1; Zbv = Zb * Zbp; ZbIv = ZbI / K1; Vp = Ms / Yd; Dmp = (Ms + (Ms*Ot)) / Yd; if (Vp = Dmp) { Jt = Dmp / Zbv; Jt1 = 0; } else if (Vp > Dmp) { Jt = Dmp / Zbv; Jt1 = 0; } else { Jt1 = (Dmp - (Zbv*(Dmp / Zbv))) / ZbI; } } void ObozPerem::message1() { cout << "Объем заполнения банки(л): " << Zbv << endl; cout << "Объем заполнения банки<индивид>(л): " << ZbIv << endl; cout << "Объем партии(л): " << Vp << endl; cout << "Действительная масса партии(кг): " << Dmp << endl; cout << endl; } void ObozPerem::getPerem() { cout << "Потребность в таре: " << Jt << " - обычные банки " << Jt1 << " - банки индивидуального потребления" << endl; } Код //Заголовочнфй файл //Реализация класса #include <iostream> #include "pch.h" #include "ObozPerem.h" #pragma once using namespace std; ObozPerem::ObozPerem(int znach_Jt, int znach_Jt1, double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI, double znach_Zbv, double znach_ZbIv, double znach_Vp, double znach_Dmp) { setPerem(znach_Jt, znach_Jt1, znach_Zb, znach_Ms, znach_Yd, znach_Zbp, znach_Ot, znach_ZbI, znach_Zbv, znach_ZbIv, znach_Vp, znach_Dmp); } void ObozPerem::message() { cout << "Вычисления!\n"; } void ObozPerem::setPerem(int znach_Jt, int znach_Jt1, double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI, double znach_Zbv, double znach_ZbIv, double znach_Vp, double znach_Dmp) { Zb = znach_Zb; Ms = znach_Ms; Yd = znach_Yd; Zbp = znach_Zbp; Ot = znach_Ot; ZbI = znach_ZbI; Zbv = znach_Zbv; ZbIv = znach_ZbIv; Vp = znach_Vp; Dmp = znach_Dmp; Jt = znach_Jt; Jt1 = znach_Jt1; Zbv = Zb * Zbp; ZbIv = ZbI / K1; Vp = Ms / Yd; Dmp = (Ms + (Ms*Ot)) / Yd; if (Vp = Dmp) { Jt = Dmp / Zbv; Jt1 = 0; } else if (Vp > Dmp) { Jt = Dmp / Zbv; Jt1 = 0; } else { Jt1 = (Dmp - (Zbv*(Dmp / Zbv))) / ZbI; } } void ObozPerem::message1() { cout << "Объем заполнения банки(л): " << Zbv << endl; cout << "Объем заполнения банки<индивид>(л): " << ZbIv << endl; cout << "Объем партии(л): " << Vp << endl; cout << "Действительная масса партии(кг): " << Dmp << endl; cout << endl; } void ObozPerem::getPerem() { cout << "Потребность в таре: " << Jt << " - обычные банки " << Jt1 << " - банки индивидуального потребления" << endl; } 3- файл. Главная функция. //главная функция #include "pch.h" #include <iostream> #include "windows.h" #include "ObozPerem.h" using namespace std; int main() {setlocale(LC_ALL, "rus"); double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; cout << "Введите объем банки(лит): "; cin >> Zb; cout << "Введите массу партии(кг): "; cin >> Ms; cout << "Введите удельный вес молока(кг/дм^3): "; cin >> Yd; cout << "Введите заполнение бака(%): "; cin >> Zbp; cout << "Введите значение отклонения(%): "; cin >> Ot; cout << "Введите значение заполнения индивд. банки(гр): "; cin >> ZbI; cout << endl; ObozPerem objObozPerem(); objObozPerem.message(); system("pause"); return 0; } Код //главная функция #include "pch.h" #include <iostream> #include "windows.h" #include "ObozPerem.h" using namespace std; int main() {setlocale(LC_ALL, "rus"); double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; cout << "Введите объем банки(лит): "; cin >> Zb; cout << "Введите массу партии(кг): "; cin >> Ms; cout << "Введите удельный вес молока(кг/дм^3): "; cin >> Yd; cout << "Введите заполнение бака(%): "; cin >> Zbp; cout << "Введите значение отклонения(%): "; cin >> Ot; cout << "Введите значение заполнения индивд. банки(гр): "; cin >> ZbI; cout << endl; ObozPerem objObozPerem(); objObozPerem.message(); system("pause"); return 0; } Проблема заключается в выводе работы класса в основную функцию. Мб что-то не так сделал. Если есть знающие, прошу помощи. ЗЫ. Главная функция не написана. Ошибка возникает в ObozPerem objObozPerem(); objObozPerem.message(); objObozPerem.message1(); objObozPerem.getPerem() Код ObozPerem objObozPerem(); objObozPerem.message(); objObozPerem.message1(); objObozPerem.getPerem()
у тебя в классе нет конструктора по умолчанию(это тот который срабатывает без переданных переменных). ты создаешь обьект ObozPerem, но не передаешь ему переменные записанные из консоли. По сути такое не должно компилироваться даже.
Да, исправил. заменил тут: class ObozPerem { private: double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; public: ObozPerem(double, double, double, double, double, double); void message1(); void setPerem(double, double, double, double, double, double); void getPerem(); }; Код class ObozPerem { private: double Zb, Ms, Yd, Zbp, Ot, ZbI, Zbv, ZbIv, Vp, Dmp; int Jt, Jt1; public: ObozPerem(double, double, double, double, double, double); void message1(); void setPerem(double, double, double, double, double, double); void getPerem(); }; ... ObozPerem::ObozPerem(double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI) { setPerem(znach_Zb, znach_Ms, znach_Yd, znach_Zbp, znach_Ot, znach_ZbI); } void ObozPerem::setPerem(double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI) Код ObozPerem::ObozPerem(double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI) { setPerem(znach_Zb, znach_Ms, znach_Yd, znach_Zbp, znach_Ot, znach_ZbI); } void ObozPerem::setPerem(double znach_Zb, double znach_Ms, double znach_Yd, double znach_Zbp, double znach_Ot, double znach_ZbI) ...и тут. int main() { setlocale(LC_ALL, "rus"); double Zb, Ms, Yd, Zbp, Ot, ZbI; cout << "Введите объем банки(лит): "; cin >> Zb; cout << "Введите массу партии(кг): "; cin >> Ms; cout << "Введите удельный вес молока(кг/дм^3): "; cin >> Yd; cout << "Введите заполнение бака(%): "; cin >> Zbp; cout << "Введите значение отклонения(%): "; cin >> Ot; cout << "Введите значение заполнения индивд. банки(гр): "; cin >> ZbI; cout << endl; ObozPerem objObozPerem(Zb, Ms, Yd, Zbp, Ot, ZbI); objObozPerem.message1(); objObozPerem.getPerem(); Код int main() { setlocale(LC_ALL, "rus"); double Zb, Ms, Yd, Zbp, Ot, ZbI; cout << "Введите объем банки(лит): "; cin >> Zb; cout << "Введите массу партии(кг): "; cin >> Ms; cout << "Введите удельный вес молока(кг/дм^3): "; cin >> Yd; cout << "Введите заполнение бака(%): "; cin >> Zbp; cout << "Введите значение отклонения(%): "; cin >> Ot; cout << "Введите значение заполнения индивд. банки(гр): "; cin >> ZbI; cout << endl; ObozPerem objObozPerem(Zb, Ms, Yd, Zbp, Ot, ZbI); objObozPerem.message1(); objObozPerem.getPerem();