Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数中的参数太少,无法调用[C程序]_C_Function_Arguments - Fatal编程技术网

函数中的参数太少,无法调用[C程序]

函数中的参数太少,无法调用[C程序],c,function,arguments,C,Function,Arguments,所以,我的在线C编程课明天晚上就要交作业了,我现在在编码方面遇到了一些问题。我已经把代码带给了我的老师,但她似乎不明白她是被雇来教我的,而不是告诉我我的代码有问题。如果有人能看一下代码并帮助我修复它,我将不胜感激。代码位于下面。调用printtripSummary时,获取错误的位置在main中 #include <stdio.h> void welcomeMessage(); void askuserForInput(); void printtripSummary(float

所以,我的在线C编程课明天晚上就要交作业了,我现在在编码方面遇到了一些问题。我已经把代码带给了我的老师,但她似乎不明白她是被雇来教我的,而不是告诉我我的代码有问题。如果有人能看一下代码并帮助我修复它,我将不胜感激。代码位于下面。调用printtripSummary时,获取错误的位置在main中

#include <stdio.h>


void welcomeMessage();
void askuserForInput();
void printtripSummary(float avgMiles, float minCost, float maxCost, float travelMiles);

int main()
{
    /* Call the functions */
    welcomeMessage();
    askuserForInput();
    printtripSummary();
    printf("\nThank you, please drive safely and have a nice trip!\n");
    return 0;
}


void welcomeMessage()
{
    printf("Welcome to the Trip Planner!\n");
    printf("So you are ready to take a trip? Let me help you plan for\n");
    printf("your fuels costs and required stops to fill up your tank.\n");
    printf("============================================================\n");
    printf("Please provide answers to the prompts below and I will\n");
    printf("display a summary for you when I have computed the results.\n");
    printf("============================================================\n");
}
void askuserForInput()
{
    float avgMiles, minCost, maxCost, travelMiles;
    do{
        printf("Please input your car's average miles per gallon (enter 0 to quit)>> ");
        scanf_s("%f", &avgMiles);
        if (avgMiles == 0)
            break;
        printf("Please tell me the range of fuel costs you expect to pay (per gallon>>)\n");

        printf("The lowest per gallon cost of fuel is>> ");
        scanf_s("%f", &minCost);
        printf("The highest per gallon cost of fuel is>> ");
        scanf_s("%f", &maxCost);
        printf("Please tell me how many miles you plan to travel>> ");
        scanf_s("%f", &travelMiles);
        printtripSummary(avgMiles, minCost, maxCost, travelMiles);
    } while (avgMiles != 0);
}

void printtripSummary(float avgMiles, float minCost, float maxCost, float travelMiles)
{
    float avgGal, mingasPrice, maxgasPrice;
    do{
        avgGal = travelMiles / avgMiles;
        mingasPrice = avgGal * minCost;
        maxgasPrice = avgGal * maxCost;
        printf("You will be required to purchase %.2f gallons of fuel.\n", avgGal);
        printf("The price will range between %2f and $%.2f.\n", mingasPrice, maxgasPrice);
    } while (avgMiles != 0);
}
#包括
void welcomeMessage();
void askuserForInput();
作废打印TripSummary(浮动平均里程、浮动最小成本、浮动最大成本、浮动旅行里程);
int main()
{
/*调用函数*/
欢迎留言();
askuserForInput();
printtripSummary();
printf(“\n谢谢,请安全驾驶,旅途愉快!\n”);
返回0;
}
void welcomeMessage()
{
printf(“欢迎使用旅行计划器!\n”);
printf(“那么你准备好旅行了吗?让我帮你计划一下旅行计划”\n”);
printf(“您的燃油成本和加油所需的停车次数。\n”);
printf(“========================================================================================\n”);
printf(“请回答以下提示,我将\n”);
printf(“在我计算结果后为您显示摘要。\n”);
printf(“========================================================================================\n”);
}
void askuserForInput()
{
浮动平均里程、最小成本、最大成本、旅行里程;
做{
printf(“请输入您的汽车每加仑的平均英里数(输入0退出)>>”;
扫描单位(“%f”和平均文件);
如果(avgMiles==0)
打破
printf(“请告诉我您预计支付的燃油成本范围(每加仑>>)\n”);
printf(“每加仑燃料的最低成本为>>”;
扫描单位(“%f”和最小成本);
printf(“每加仑燃料的最高成本为>>”;
扫描单位(“%f”和最大成本);
printf(“请告诉我您计划行驶多少英里>>”;
扫描单位(“%f”和旅行里程);
printtripSummary(平均里程、最小成本、最大成本、旅行里程);
}而(平均文件数!=0);
}
作废打印TripSummary(浮动平均文件、浮动最小成本、浮动最大成本、浮动旅行里程)
{
浮动平均值、明加斯普里斯、马克加斯普里斯;
做{
avgGal=旅行里程/平均里程;
mingasPrice=平均*最低成本;
maxgasPrice=平均值*最大成本;
printf(“您需要购买%.2f加仑的燃料。\n”,平均值);
printf(“价格将在%2f和%.2f美元之间。\n”,mingasPrice,maxgasPrice);
}而(平均文件数!=0);
}

注释掉
main中的函数调用,如下所示(第13行):

因为您已经在
askuserForInput()中调用了函数
并在
main中调用此函数

或者,如果您还想在主函数中调用该函数,则必须传递所需的参数,这些参数是:

(float avgMiles, float minCost, float maxCost, float travelMiles)


在函数
printtripSummary()中还有一个无止境的循环因为您有一个
do…while
循环,用于检查
avgMiles!=0
,但是由于您没有在这个循环中更改
avgMiles
的值,因此它是无止境的

在第13行,您正在调用
printtripSummary
函数,但没有向其传递任何参数。您必须提供函数定义指定的4个参数(
avgMiles
minCost
maxCost
travelMiles
)。

如果我可以问的话,这个错误是如何产生的?请查看
printtripsummmary
函数的原型(和定义),然后查看对该函数的调用。在调用函数的
main
中,必须给出
参数
!您还可以在
askuserForInput
中调用函数,因此只需在main中注释函数调用out@JoachimPileborg哦:-)“她是被雇来教我的,而不是告诉我我的代码有问题”。也许她认为这个显而易见的错误信息比她刚刚告诉你的更能让你从寻址中学到。非常感谢。对printtripSummary的评论修复了它。@Bioniclefreak25欢迎您!祝您度过愉快的一天:顺便看看函数
printtripSummary()因为你有一个无尽的循环!
(float avgMiles, float minCost, float maxCost, float travelMiles)