gpt4 book ai didi

c++ - 编写一个将覆盖主函数数组中的值的函数

转载 作者:行者123 更新时间:2023-11-30 03:54:07 24 4
gpt4 key购买 nike

我遇到了一个问题,其中已经提供了 main 函数,我需要创建一个函数来计算所要求的任何内容。我在尝试弄清楚如何使用从我创建的函数中获得的新值覆盖主函数中的数组时遇到问题。到目前为止,最终结果是它只是打印出原始数组中的任何内容。

#include "stdafx.h"
//Windows Visual studio seems to want me to add this in order for it to work
#include <iostream>
#include <fstream>
#include <string>
using namespace std;


void change_price(float price[], float percent_change){

for (int j = 0; j < 8; j++){
(price[j] * (100 + percent_change)) / 100 ;
}
}


/*
This program inputs an array of item prices on sale
There is a 25% discount and the NY sales tax 8.875 is computed on the reduced price
It then prints the resulting prices
*/
int main(){
float prices[] = { 10, 27, 83, 15, 39, 120, 87, 20 };
change_price(prices, -25.0);
change_price(prices, 8.875);
cout << "final prices\n";
for (int i = 0; i < 8; i++)
cout << prices[i] << endl;

}

最佳答案

您没有看到变化的原因是,您没有在函数中为数组分配任何新值。尝试类似的东西:

price[j]=(price[j] * (100 + percent_change)) / 100 ;

在你的循环中。

编辑:

我的一些建议:如果您必须自己编写这样的代码(在主函数中),请使用 std::vectorstd::array .不幸的是/幸运的是,它们不是 c 风格数组的直接替代品,但除了一些其他优点外,它们还将消除对按引用传递或按值传递的任何混淆

关于c++ - 编写一个将覆盖主函数数组中的值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com