如何将向量中的值发送到类? 我被指定将Excel电子表格翻译成C++程序。

如何将向量中的值发送到类? 我被指定将Excel电子表格翻译成C++程序。,c++,C++,excel电子表格是一份月度预算报告,用户必须在其中设置其使用的每项服务的成本/收入,比如水、气、电、amazon.com等 之后,用户再次被要求提交他支付的百分比,以计算他为每项服务单独支付的费用。。。我对那句话有点不知所措 为此,我要求用户使用do while输入值: double value; cin >> value; do { passToVector(value); cin >> value; } while(value != 0); 然后,pass

excel电子表格是一份月度预算报告,用户必须在其中设置其使用的每项服务的成本/收入,比如水、气、电、amazon.com等

之后,用户再次被要求提交他支付的百分比,以计算他为每项服务单独支付的费用。。。我对那句话有点不知所措

为此,我要求用户使用do while输入值:

double value;
cin >> value;
do {
  passToVector(value);
  cin >> value;
} while(value != 0);
然后,passToVector函数将值存储在expensesList向量上:

void passToVector(double value){
  vector<double> expensesList;
  expensesList.push_back(value);
};
void passToVector(双值){
向量费用表;
费用清单。推回(价值);
};
这就是我迷路的地方,类应该能够接收这些值,以便在需要时更新它们。下面是我的班级的一个例子:

class Expenses {
  private:
    double percentage = 0.00;
    double mortgage = 0.00;
    double electric = 0.00;
    double gas = 0.00;
    double water = 0.00;
  public:
    // Set percentage each person brings
    void setPercentage(double per) { percentage = per; }
    double getPercentage() const { return percentage / 100; }
    // Calculate Total Expenses by Person
    void calculatePersonExpenses() {
      double result = mortgage * getPercentage();
      double result2 = electric * getPercentage();
      double result3 = gas * getPercentage();
      double result4 = water * getPercentage();

      cout << "Mortgage:                      $" << fixed << setprecision(2) << result << endl;
      cout << "Electricity:                   $" << fixed << setprecision(2) << result2 << endl;
      cout << "Gas(Home):                     $" << fixed << setprecision(2) << result3 << endl;
      cout << "Water:                         $" << fixed << setprecision(2) << result4 << endl;
    }
};
课程费用{
私人:
双倍百分比=0.00;
双重抵押=0.00;
双电=0.00;
双气体=0.00;
双水=0.00;
公众:
//设定每个人带来的百分比
void setPercentage(每两个){percentage=per;}
double getPercentage()常量{返回百分比/100;}
//按个人计算总费用
void calculatePersonExpenses(){
双重结果=抵押*getPercentage();
double result2=电动*getPercentage();
double result3=气体*getPercentage();
double result4=水*getPercentage();
当你打字时不能

void passToVector(double value){
  vector<double> expensesList;
  expensesList.push_back(value);
};
或者,您可以在类
费用

class Expenses {
private:
    std::vector<double> expensesList {};
    //[...etc]
public:
    void AddExpense(double value) noexcept {
        expenseList.push_back(value);
    }
课程费用{
私人:
std::向量费用列表{};
//[…等]
公众:
无效附加费用(双值)无例外{
expenseList.push_back(值);
}

这一切都取决于你想要什么。

你真的同时使用所有的C++标准吗?我不太理解你的问题。你跟你的老师谈过你的误解吗?你可能需要和某人谈谈这个问题。这不是一个问答数据库的好条目。祝你好运!你可能需要澄清一点问题。ore.“类对象向量”可能是指
费用的向量,而不是像一个条目那样的双倍向量(类型
费用
)每个月?还请注意,
passToVector
完全没有任何作用。函数结束后,向量将被销毁。这就是我丢失的地方。我不确定要使用哪种类型的向量,它没有指定。报告不是按月生成的,它们只是按服务生成的。您键入您使用的服务的成本,然后键入您支付的百分比以及tha之后,该程序应该向您显示您为每项服务单独支付的金额……这有意义吗?@Kirasiris giva一个输入示例,以及您想要的输出。也许这样我们可以更好地了解您。
class Expenses {
private:
    std::vector<double> expensesList {};
    //[...etc]
public:
    void AddExpense(double value) noexcept {
        expenseList.push_back(value);
    }