gpt4 book ai didi

c - 为什么函数会被跳过而不被读取?

转载 作者:行者123 更新时间:2023-11-30 14:39:34 26 4
gpt4 key购买 nike

我正在尝试编写代码,以便它打开一个文件(工作人员和福利),然后在开始时询问时显示它们。我可以做到这一点,但我想使用函数。当我运行我的程序时,它一开始就结束。如何设置函数以便它们运行。

我尝试重命名函数但没有成功。我也没有通过 Youtube 教程找到任何帮助。

#include <stdio.h>
#include <stdlib.h>

int ans;
char Benefits[150];
char Worker[150];

int readfile();
int end();
int welcome();

int main()
{



int welcome()
{
puts("Hi, Welcome to whatever this is!!\n");
}

int readfile()
{



FILE*fpointer;
fpointer = fopen("Worker.txt","r");
char Worker[150];

while(!feof(fpointer))
{
fgets(Worker, 150, fpointer);

}
FILE*fpointer1;
fpointer = fopen("Benefits.txt","r");
char Benefits[150];

while(!feof(fpointer))
{
fgets(Benefits, 150, fpointer1);

}
fclose(fpointer);
}

int menu(char Benefits)
{
{
printf("1 - For option 1\n");
printf("2 - For option 2\n");
printf("3 - For option 3\n");
printf("4 - For option 4\n");
printf("5 - exit\n");

scanf("%1d", &ans);
}

{
if (ans==1)
puts(Benefits);

if (ans==2)
puts(Worker);

if (ans==3)
puts("This is option3");

if (ans==4)
puts("This is option4");
}
}

return 0;
}

我希望输出打印其中一个文件或退出。截至目前,它会跳过函数并结束程序。

最佳答案

这些函数应该位于主函数之外。在主函数中,您可以根据需要调用函数。

int main()
{
welcome();
readfile();

etc.

return 0;
}

要真正有用的函数可以带参数。如果像这样定义 readfile,则声明一个名为 filename 的参数,其中包含文件名。你可以在您的函数中使用它,而不是编写文件的确切名称。

int readfile (char *filename)
{
...
fpointer = fopen(filename,"r");
...
}

现在在 main 中你可以使用

int main()
{
welcome();
readfile("Workers.txt");
...
}

这就是函数有用的原因。您现在可以为另一个文件重用该函数用不同的名字。这不是适合您的解决方案,但我希望它能有所帮助,即使只是您的理解。

关于c - 为什么函数会被跳过而不被读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56043634/

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