我正在尝试编写代码,以便它将打开一个文件(员工和福利),然后在开始时被询问时显示它们。我可以这样做,但是我想使用函数。当我运行程序时,它会在启动后立即结束。如何设置功能以便它们运行。
我尝试将功能重命名为成功。 Ive在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;
}
我希望输出打印文件或退出。到目前为止,它会跳过功能并结束程序。
答案 0 :(得分:1)
功能应在主功能之外。在主函数中,可以根据需要调用函数。
int main()
{
welcome();
readfile();
etc.
return 0;
}
要成为真正有用的功能,可以使用参数。如果您这样定义readfile,则声明一个名为 filename 的参数,其中包含文件名。您可以 在函数中使用它而不是写文件的确切名称。
int readfile (char *filename)
{
...
fpointer = fopen(filename,"r");
...
}
现在主要可以使用了
int main()
{
welcome();
readfile("Workers.txt");
...
}
这就是使函数有用的原因。您现在可以将功能重新用于另一个文件 名称不同。这不是您的解决方案,但即使您有所了解,我也希望能对您有所帮助。