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