所以这是我正在研究的老虎机项目中的一个功能。而且我想知道有没有办法让它工作,以便在声明“你的学分太低而不能玩”的if语句之后程序结束。我也可以这样做,以便程序再次要求下注,如果下注>信用或下注< 2任何答案赞赏。
slot validate( slot s)
{
printf ("Your available credit is %f\n", credits);
if (credits >= 2)
{
printf ("How many credits would you like to bet?\n");
scanf("%f", &s.bet);
if (s.bet> credits)
{
printf("you do not have enough credits for that bet\n");
printf("your available credits are %f", credits);
}
if (s.bet < 2)
{
printf("Error! You must bet at least to credits to play!");
}
if (credits < 2)
{
printf ("your credits are too low to play!");
}
}
return s;
}
答案 0 :(得分:2)
便宜的答案是调用exit()函数。
但是,exit()
不会返回 - 程序会立即退出。因此,validate()
函数不会返回其调用者。如果程序需要执行任何清理操作,例如将状态(分数,等等)保存到文件,则会出现此问题。更好的方法是从指示的validate()
返回一些值,该值应该是程序应该结束的调用者。您可以通过返回 int 并将slot
返回值移动到函数体可以设置的函数参数来完成此操作。然后,调用者可以执行任何需要执行的清理操作,并将控制权返回给其调用者,依此类推。
答案 1 :(得分:1)
if (credits < 2)
{
printf ("your credits are too low to play!");
exit(EXIT_SUCCESS);
}