gpt4 book ai didi

c - 赌注必须小于余额才能继续 C

转载 作者:行者123 更新时间:2023-11-30 14:59:54 25 4
gpt4 key购买 nike

所以我正在开发一款掷骰子游戏,游戏的一个方面是赌注必须小于或等于余额才能继续(所以你的赌注不会超过你的赌注)。现在我已经完成了我正在开发的完整游戏,但是发布的代码太多了,所以我基本上写出了我想要做的事情。

我发布的代码假设它是损失,但由于某种原因它没有正确减去。在我的实际游戏中,它完全忽略了 while 函数,即。如果我的余额为 20,而我下注 22,则结果为 -2。我不知道如何使其正确工作..

    #include<stdio.h>


int main(void)
{
double balance = 0.0, wager = 0.0;

balance = get_balance();
wager = get_wager();
checking_wager(balance, wager);
loss(balance, wager);

return 0;
}

double get_balance(void)
{
double balance = 0.0;
balance = printf("Enter your balance: ");
scanf("%lf", &balance);
return balance;
}

double get_wager(void)
{
double wager = 0.0;
wager = printf("Enter your wager: \n");
scanf("%lf", &wager);
return wager;
}

double checking_wager(double balance, double wager)
{
while (wager > balance)
{
printf("The wager is invalid\n");
wager = get_wager();
}
return 0;
}

double loss(double balance, double wager)
{
balance -= wager;
printf("Balance: %.2f", balance);
return balance;
}

如果有人对我如何完成这项工作有任何建议,我将非常感激。谢谢:)

最佳答案

我重新格式化了你的代码,现在它应该可以工作了。

int main(void)
{
double balance = 0.0, wager = 0.0;

balance = get_balance();
wager = get_wager();
checking_wager(balance, &wager);
loss(balance, wager);

return 0;
}

double get_balance(void)
{
double balance = 0.0;
balance = printf("Enter your balance: ");
scanf("%lf", &balance);
return balance;
}

double get_wager(void)
{
double wager = 0.0;
wager = printf("Enter your wager: \n");
scanf("%lf", &wager);
return wager;
}

double checking_wager(double balance, double *wager)
{
while (*wager > balance)
{
printf("The wager is invalid\n");
*wager = get_wager();
}
return 0;
}

double loss(double balance, double wager)
{
balance -= wager;
printf("Balance: %.2f", balance);
return balance;
}

我所做的更改,首先替换了 returntypes 形式

int

double

第二个也是更重要的,我改变了这个函数的第二个参数

int checking_wager(double balance, double wager)

指向 double 的指针

double checking_wager(double balance, double *wager)

这样做的原因是从函数返回新的赌注。

关于c - 赌注必须小于余额才能继续 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42446814/

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