gpt4 book ai didi

c - 尝试在函数中添加 *double 和 double

转载 作者:行者123 更新时间:2023-11-30 15:04:38 25 4
gpt4 key购买 nike

所以我正在编写一个程序来计算银行对账单(学校实验室),我正在编写的这个函数是计算已从帐户中提取的支票以及存款。

这是我的主要内容(我必须使用)

int main(void)
{
char code;
double amount, service, balance;
double amtCheck, amtDeposit, openBalance, closeBalance;
int numCheck, numDeposit;

if (!(fpIn = fopen("account.txt", "r"))) {
printf("account.txt could not be opened for input.");
exit (1);
}
if (!(fpOut = fopen("csis.txt", "w"))) {
printf("csis.txt could not be opened for output.");
exit (1);
}

amount = 0.0;
service = 0.0;
balance = 0.0;
amtCheck = 0.0;
amtDeposit = 0.0;
openBalance = 0.0;
closeBalance = 0.0;
numCheck = 0.0;
numDeposit = 0.0;

outputHeaders();

while (!feof(fpIn)){
fscanf(fpIn, "%c %lf\n", &code, &amount);
if (code == 'I') {
initialBalance(amount, &balance, &service, &openBalance);
}
else if (code == 'D'){
deposit(amount, &balance, &service, &numDeposit, &amtDeposit);
}
else
{
check(amount, &balance, &service, &numCheck, &amtCheck);
}
}

closeBalance = balance - service;
outputSummary(numDeposit, amtDeposit, numCheck, amtCheck, openBalance, service, closeBalance);
fclose(fpIn);
fclose(fpOut);
return 0;

}

这是我的函数(我必须使用)

void check(double amount, double *balance, double *service, int *numCheck, double *amtCheck)
{
++*numCheck;
service = numCheck * 0.06;
amtCheck += amount;
balance -= amtCheck;
}

该服务收取服务费,每张存入的支票收费 0.06 美元。numCheck 是提取支票的数量。amtCheck 用于以支票形式提取的美元金额。余额是月底所有提款的总和($)。

在函数(void check)中,我试图将 numCheck * 0.06 (service = numCheck * 0.06) 的乘积分配给 service,但由于某种原因它不允许我这样做。以及尝试将 amtCheck + amount 的值分配给 amtCheck(amtCheck += amount) ,但它也不允许我。这样做的正确方法是什么?

(我还有其他函数来计算存款,但也有同样的问题)

最佳答案

在使用指针的值或为其赋值时,您需要取消引用指针。例如:

*service = (*numCheck)*0.06;

关于c - 尝试在函数中添加 *double 和 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40210549/

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